32

我想让用户在单击按钮后选择他们的选项。例如,在模式弹出窗口中显示两个按钮,“立即重新启动”和“稍后重新启动”将是我的偏好。使用 aMessageBox对我来说不是解决方案,因为它不允许用户更改按钮的标题。

4

4 回答 4

46

您需要创建一个新的 Window 类。你可以设计任何你想要的方式。您可以像这样以模态方式创建和显示窗口:

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

您可以为结果值添加自定义属性,或者如果您只有两个可能的结果(+ 可能不确定,这将是null),您可以在关闭它之前设置窗口的DialogResult属性,然后检查它(它是返回的值ShowDialog())。

于 2012-07-16T07:47:07.087 回答
26

在 WPF 中有一个名为 Popup 的控件。

Popup myPopup = new Popup();
//(...)
myPopup.IsOpen = true;
于 2012-07-16T07:55:58.420 回答
5

XAML

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

C#

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

您可以从 MSDN 文档中找到有关弹出控件的更多详细信息。

关于 Popup 控件的 MSDN 文档

于 2013-12-14T11:48:19.633 回答
-4

只需显示一个带有两个按钮的新窗口。添加属性以包含用户结果。

于 2012-07-16T07:40:36.160 回答