如何获得System.Windows.ShowDialog()返回“真”?
题
我怎么System.Windows.ShowDialog()
返回 '真'?
我有点新本。 System.Windows.ShowDialog
的返回类型bool
?它应该返回true
当你打Submit
和false
当你打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键将 “点击” 此按钮。