我怎么System.Windows.ShowDialog()返回 '真'?

我有点新本。 System.Windows.ShowDialog的返回类型bool?它应该返回true当你打Submitfalse当你打Cancel。但我不知道如何指定其Button是官方提交按钮。

编辑: 与此相关的,我很好奇,怎么能返回null。

有帮助吗?

解决方案

http://msdn.microsoft.com/ EN-US /库/ system.windows.window.showdialog.aspx

  

的ShowDialog返回一个可空<(中   <(T>)>)布尔值,指定   该活动是否被接受或   取消。返回值是   DialogResult属性的值   前一个窗口关闭(见   的DialogResult)。

基本上,你决定通过设置的DialogResult的价值,而不是通过点击一个特定的按钮 - 你决定了按钮的功能

其他提示

在WPF,设置 Button.IsDefault 属性为true来指定一个按钮是一个窗口中的“提交”按钮。我不是100%肯定这将使窗口关闭与真正的一个的DialogResult。如果没有,你只需要处理正是如此它的Click事件:

this.DialogResult = true;

修改

同样,也可以使用按钮。 IsCancel 属性有一个按钮是“取消”按钮的形式。

修改2

我相信原因ShowDialog的为空是因为直到形式提交或取消它为空,你可以测试,如果你是看在后台线程的对话框。我还没有试过,但它似乎是一个合乎逻辑的原因,他们会推出第三个“未知”(空)状态属性。

如果您设置的DialogResult到,如果没有(在右上角的红色X用户点击)设置的DialogResult的ShowDialog将返回null关闭该对话框真正的ShowDialog返回true,如果你设置的DialogResult假的ShowDialog返回false。

ISDEFAULT设置为true,将导致按钮看起来有点不同,并按下Enter键将“点击”此按钮。

如果您设置IsCancel为true,按下ESC键将 “点击” 此按钮。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top