UWP에서 메시지 상자를 표시하고 싶을 때

6582 단어 UWPC#WPF
UWP에서 MessageBox.Show()하고 싶을 때

각 다이얼로그의 표시 확인하도록 UWP 앱 만들었습니다.
소스 코드

MessageDialog



간단한 메시지 표시 대화 상자입니다.

MessageDialogSample.cs
var dialog = new MessageDialog("コンテンツ", "タイトル");
_= dialog.ShowAsync();


이런 식으로 모달로 표시됩니다.

경고 등 사용자에게 무언가를 알리고 싶을 때 유용합니다.

ContentDialog


  • 버튼 하나의 경우

  • ContentDialogSample1.cs
    var dialog = new ContentDialog()
    {
        Title = "OK Dialog Here!!",
        Content = "Click Ok Button Dialog",
        CloseButtonText = "Ok"
    };
     var result = await dialog.ShowAsync();
    

    이런 느낌

  • 버튼 두 가지 경우

  • ContentDialogSample2.cs
        var dialog = new ContentDialog()
        {
            Title = "Yes No Dialog Here!!",
            Content = "Click Yes No Button Dialog",
            PrimaryButtonText = "Yes",
            CloseButtonText = "No"
        };
        var result = await dialog.ShowAsync();
    

    이런 느낌

  • 버튼 세 가지 경우

  • ContentDialogSample3.cs
        var dialog = new ContentDialog()
        {
            Title = "3 Button Dialog Here!!",
            Content = "Click 3 Button Dialog",
            PrimaryButtonText = "Allow",
            SecondaryButtonText = "Delete",
            CloseButtonText = "Cancel"
        };
        var result = await dialog.ShowAsync();
    

    이런 느낌


    ContentDialog의 ShowAsync() 반환 값 정보


    namespace Windows.UI.Xaml.Controls
    {
        [ContractVersion(typeof(UniversalApiContract), 65536)]
        [WebHostHidden]
        public enum ContentDialogResult
        {
            None = 0,
            Primary = 1,
            Secondary = 2
        }
    }
    

    ContentDialog 속성에 설정한 값에 해당하는 버튼을 누르면 아래의 반환 값을 반환합니다.


    속성
    명령
    반환값


    CloseButtonText
    CloseButtonCommand
    None

    PrimaryButtonText
    PrimaryButtonCommand
    Primary

    SecondaryButtonText
    SecondaryButtonCommand
    Secondary


    또, 각각 커멘드 프로퍼티도 구현되고 있으므로, 커멘드를 작성해 프로퍼티에 설정하는 것도 가능합니다.

    MessageDialog 클래스가 sealed 클래스인 것에 대해 ContentDialog 클래스는 상속할 수 있으므로 레이아웃을 확장하거나, 좋아하는 컨트롤을 배치 가능하므로 사용하기 쉽다고 생각합니다.

    응용 InputDialog



    ContentDailog 클래스를 확장하여 하나의 텍스트 상자가있는 대화 상자 클래스를 만들었습니다.

    좋은 웹페이지 즐겨찾기