Всплывающие окна

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

Popup

Для создания всплывающих окон мы можем использовать элемент Popup. Он имеет свойство StaysOpen, которое позволяет управлять его отображением. Так, по умолчанию оно равно True, а это значит, что при отображении окна, оно больше не исчезнет, пока мы не установим явно значение этого свойства в False. Например, добавим элемент Popup:

<StackPanel>
    <Button Content="Жми" Width="80" Click="button1_Click" />
    <Popup x:Name="popup1" IsOpen="False" MaxWidth="180">
        <TextBlock TextWrapping="Wrap" FontSize="24" Width="180" >
            Чтобы узнать больше, посетите сайт metanit.com
        </TextBlock>
    </Popup>
</StackPanel>

Popup может хранить сложное содержимое, другие элементы управления, но в данном случае ограничимся текстовым блоком.

И с помощью обработчика нажатия кнопки управляем отображением окна:

private void button1_Click(object sender, RoutedEventArgs e)
{
    if(!popup1.IsOpen)
        popup1.IsOpen = true;
    else
        popup1.IsOpen = false;
}
Popup in Windows Phone 8.1

MessageDialog

Еще один способ создания окон заключается в применении класса MessageDialog. В данном случае нам не надо ничего определять в xaml, все делается в коде c#. Например, определим в коде следующий обработчик нажатия кнопки:

private async void button1_Click(object sender, RoutedEventArgs e)
{
    MessageDialog msgbox = new MessageDialog("Текст окна","Заголовок окна");
    await msgbox.ShowAsync();
}

Класс MessageDialog находится в пространстве имен Windows.UI.Popups, поэтому нам также надо подключить его в начале файла директивой using: using Windows.UI.Popups;

Для отображения окна используется метод ShowAsync(), который является асинхронным. Поэтому нам в данном случае надо использовать операторы async и await.

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