1

我创建了一个 WPF 窗口。在某些情况下,我想使用 ShowDialog() 来显示它,而在其他情况下,我只想使用 Show()。

对于 ShowDialog() 我想设置 DialogResult 一切正常,但是如果使用 Show() 启动窗口并且我设置了 DialogResult 我得到异常

DialogResult can be set only after Window is created and shown as dialog. 

如何确定窗口是如何启动的,以便我可以设置 DialogResult 的条件?

4

2 回答 2

1

可能有多种解决方案,其中之一可以覆盖 ShowDialog() 和 show() 方法,以便您可以发送一个参数来确定调用它的方式。或者只是在类上设置一个布尔标志。

于 2015-05-12T15:03:14.727 回答
-1

检查子对话框上的 Owner 属性。如果使用了 Show(),则不会自动设置子窗口所有者,但应该在使用 ShowDialog() 时设置。

于 2015-05-12T15:00:23.373 回答