Dreamine.UI.Wpf.Controls 1.0.1
Dreamine.UI.Wpf.Controls 사용자 인터페이스 기능과 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox 클래스 참조

더 자세히 ...

클래스

class  State

정적 Public 멤버 함수

static MessageBoxResult Show (string message, string title="Information", MessageBoxButton buttons=MessageBoxButton.OK, MessageBoxImage icon=MessageBoxImage.None, MessageBoxResult autoClick=MessageBoxResult.None, int autoClickDelaySeconds=0, int enableDelaySeconds=0)
static void ShowAsync (string message, string title="Information", MessageBoxButton buttons=MessageBoxButton.OK, MessageBoxImage icon=MessageBoxImage.None, Action< MessageBoxResult >? callback=null, MessageBoxResult autoClick=MessageBoxResult.None, int autoClickDelaySeconds=0, int enableDelaySeconds=0)

정적 Private 멤버 함수

static ? Window GetActiveWindow ()

정적 Private 속성

static object _lock = new object()

상세한 설명

자동 클릭과 버튼 활성화 지연을 지원하는 사용자 지정 메시지 상자를 동기 또는 비동기로 표시합니다.

DreamineMessageBox.cs 파일의 13 번째 라인에서 정의되었습니다.

멤버 함수 문서화

◆ GetActiveWindow()

? Window Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.GetActiveWindow ( )
inlinestaticprivate

메시지 상자의 소유자로 사용할 현재 활성 WPF 창을 찾습니다.

반환값
활성 창이며 없으면 null입니다.
예외
NullReferenceExceptionWPF Application.Current가 없으면 발생합니다.

DreamineMessageBox.cs 파일의 221 번째 라인에서 정의되었습니다.

222 {
223 return Application.Current.Windows
224 .OfType<Window>()
225 .FirstOrDefault(w => w.IsActive);
226 }

다음에 의해서 참조됨 : Show(), ShowAsync().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ Show()

MessageBoxResult Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.Show ( string message,
string title = "Information",
MessageBoxButton buttons = MessageBoxButton::OK,
MessageBoxImage icon = MessageBoxImage::None,
MessageBoxResult autoClick = MessageBoxResult::None,
int autoClickDelaySeconds = 0,
int enableDelaySeconds = 0 )
inlinestatic

UI Dispatcher에서 사용자 지정 메시지 상자를 모달 방식으로 표시하고 결과를 반환합니다.

매개변수
message표시할 메시지입니다.
title창 제목입니다.
buttons표시할 버튼 구성입니다.
icon표시할 아이콘입니다.
autoClick지연 후 자동 선택할 결과입니다.
autoClickDelaySeconds자동 클릭까지의 초이며 0은 비활성화입니다.
enableDelaySeconds버튼 활성화까지의 초이며 0은 지연 없음입니다.
반환값
사용자가 선택했거나 자동 클릭된 결과입니다.
예외
NullReferenceException현재 WPF 애플리케이션이 없으면 발생합니다.
InvalidOperationExceptionDispatcher가 종료되었거나 창을 모달로 표시할 수 없으면 발생할 수 있습니다.

DreamineMessageBox.cs 파일의 326 번째 라인에서 정의되었습니다.

332 {
333 return Application.Current.Dispatcher.Invoke(() =>
334 {
335 var msgBox = new DreamineMessageBoxWindow(title, message, icon, buttons, autoClick, autoClickDelaySeconds, enableDelaySeconds)
336 {
337 Owner = GetActiveWindow()
338 };
339 msgBox.ShowDialog();
340 return msgBox.Result;
341 });
342 }

다음을 참조함 : GetActiveWindow().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ ShowAsync()

void Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.ShowAsync ( string message,
string title = "Information",
MessageBoxButton buttons = MessageBoxButton::OK,
MessageBoxImage icon = MessageBoxImage::None,
Action< MessageBoxResult >? callback = null,
MessageBoxResult autoClick = MessageBoxResult::None,
int autoClickDelaySeconds = 0,
int enableDelaySeconds = 0 )
inlinestatic

같은 내용의 중복을 억제하며 사용자 지정 메시지 상자를 Dispatcher에 비동기로 예약합니다.

매개변수
message표시할 메시지입니다.
title창 제목입니다.
buttons표시할 버튼 구성입니다.
icon표시할 아이콘입니다.
callback창이 닫힌 뒤 결과와 함께 호출할 선택적 콜백입니다.
autoClick지연 후 자동 선택할 결과입니다.
autoClickDelaySeconds자동 클릭까지의 초입니다.
enableDelaySeconds버튼 활성화까지의 초입니다.
예외
NullReferenceException현재 WPF 애플리케이션이 없으면 호출 시 발생합니다.

Dispatcher 콜백 안에서 발생한 창 또는 사용자 콜백 예외는 호출자에게 동기적으로 전달되지 않습니다.

DreamineMessageBox.cs 파일의 432 번째 라인에서 정의되었습니다.

437 {
438 if (State.IsSame(title, message, icon, buttons))
439 return;
440
441 State.IsOpen = true;
442 State.LastTitle = title;
443 State.LastMessage = message;
444 State.LastIcon = icon;
445 State.LastButtons = buttons;
446
447 Application.Current.Dispatcher.BeginInvoke(() =>
448 {
449 try
450 {
451 var msgBox = new DreamineMessageBoxWindow(title, message, icon, buttons, autoClick, autoClickDelaySeconds, enableDelaySeconds)
452 {
453 Owner = GetActiveWindow()
454 };
455 msgBox.ShowDialog();
456 callback?.Invoke(msgBox.Result);
457 }
458 finally
459 {
460 State.IsOpen = false;
461 State.LastTitle = null;
462 State.LastMessage = null;
463 }
464 });
465 }

다음을 참조함 : GetActiveWindow(), Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.State.IsOpen, Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.State.IsSame(), Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.State.LastButtons, Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.State.LastIcon, Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.State.LastMessage, Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox.State.LastTitle.

다음에 의해서 참조됨 : Dreamine.UI.Wpf.Controls.Navigation.DreamineNavigationBar.OnAutoLogout(), Dreamine.UI.Wpf.Controls.DreamineButton.TryExecuteCommand().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _lock

object Dreamine.UI.Wpf.Controls.MessageBox.DreamineMessageBox._lock = new object()
staticprivate

메시지 상자 상태 동기화를 위해 예약된 잠금 개체입니다.

DreamineMessageBox.cs 파일의 236 번째 라인에서 정의되었습니다.


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: