我有这个WPF应用程序,其中MainNavigationWindow在其构造函数中注册了其他类的事件:
SomeClass obj = new SomeClass();
obj.SomeEvent += new EventHandler(SomeEventHandler);
Run Code Online (Sandbox Code Playgroud)
在EventHandler方法中,我试图显示另一个窗口,如:
SomeWindow window = new SomeWindow();
window.ShowDialog();
Run Code Online (Sandbox Code Playgroud)
但是在创建新对象时会抛出上述异常.有人可以告诉我可能出现的问题是什么,我该如何解决?
请注意,SomeWindow仅来自System.Window.
听起来这个事件没有在UI线程中引发,你需要在创建窗口之前编组到UI线程.这可能就像将事件处理程序代码更改为:
Action action = () => {
SomeWindow window = new SomeWindow();
window.ShowDialog();
};
Dispatcher.BeginInvoke(action);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1878 次 |
| 最近记录: |