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

Я хочу, чтобы пользователь мог выбрать свои параметры после нажатия кнопки. Например, покажут две кнопки: "Restart Now" и "Restart Later" в модальном всплывающем окне. Использование MessageBox для меня не является решением, так как оно не позволяет пользователю изменять название кнопок.

Ответы

Ответ 1

Вам нужно создать новый класс Window. Вы можете спроектировать это так, как хотите. Вы можете создать и показать окно модально следующим образом:

MyWindow popup = new MyWindow();
popup.ShowDialog();

Вы можете добавить настраиваемое свойство для своего значения результата или если у вас есть только два возможных результата (возможно, неопределенный, что будет null), вы можете установить окно DialogResult до его закрытия, а затем проверить его (это значение, возвращаемое ShowDialog()).

Ответ 2

В WPF есть элемент управления с именем Popup.

Popup myPopup = new Popup();
//(...)
myPopup.IsOpen = true;

Ответ 3

XAML

<Popup Name="myPopup">
      <TextBlock Name="myPopupText" 
                 Background="LightBlue" 
                 Foreground="Blue">
        Popup Text
      </TextBlock>
</Popup>

С#

    Popup codePopup = new Popup();
    TextBlock popupText = new TextBlock();
    popupText.Text = "Popup Text";
    popupText.Background = Brushes.LightBlue;
    popupText.Foreground = Brushes.Blue;
    codePopup.Child = popupText;

Вы можете найти более подробную информацию о Popup Control из документации MSDN.

Документация MSDN по управлению всплывающими окнами

Ответ 4

Просто покажите новое окно с двумя кнопками. Добавьте свойство, чтобы содержать результат пользователя.