ContentDialog

Последнее обновление: 13.04.2017

Класс ContentDialog используется для создания диалоговых окон. Диалоговое окно можно создать в виде кода или разметки.

Например, определим на странице текстовое поле и кнопку:

<Page
    x:Class="ControlsApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:ControlsApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">
    <StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
		<TextBlock x:Name="header" FontSize="26" />
        <Button Content="Click" Click="Button_Click" />
    </StackPanel>
</Page>

В файле кода пропишем для кнопки обработчик Button_Click:

using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

namespace ControlsApp
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            ContentDialog deleteFileDialog = new ContentDialog()
            {
                Title = "Подтверждение действия",
                Content = "Вы действительно хотите удалить файл?",
                PrimaryButtonText = "ОК",
                SecondaryButtonText = "Отмена"
            };

            ContentDialogResult result = await deleteFileDialog.ShowAsync();
            
            if (result == ContentDialogResult.Primary)
            {
                header.Text = "Файл удален"; 
            }
            else if (result == ContentDialogResult.Secondary)
            {
                header.Text = "Отмена действия";
            }
        }
    }
}

Для диалогового окна можно задать ряд свойств. Прежде всего, свойство Title устанавливает заголовок окна, а свойство Content - его текст. Свойство PrimaryButtonText определяет текст на первой кнопке, а SecondaryButtonText - на второй.

Для отображения диалогового окна надо вызвать асинхонный метод ShowAsync(). Его результатом является объект ContentDialogResult, из которого мы можем узнать какую кнопку нажал пользователь. Если результат равен ContentDialogResult.Primary, то нажата первая кнопка.

Запустим приложение и нажмем на кнопку:

Модальное окно ContentDialog в UWP

При этом диалоговое окно будет модальным и будет занимать всю страницу. И пока мы не нажмем на определенную кнопку, работать с приложением мы не сможем.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850