仅在WPF中的ShowDialog()之后设置DialogResult

svi*_*ick 8 wpf dialog

我有一个窗口,我有时打开使用Show(),有时使用ShowDialog().在第二种情况下,返回的对话结果对我来说很重要.但是,如果我设置DialogResult后调用Show()我得到一个InvalidOperationException.有没有办法找出用于打开窗口和设置或不DialogResult相应的方法?或者还有另一种方式吗?

当然我知道我可以捕获并忽略异常,但我不喜欢这个解决方案.

Pop*_*lin 9

在窗口内使用 System.Windows.Interop.ComponentDispatcher.IsThreadModal来确定它是否在模式线程上运行.