我正在使用下面的代码打开我的下一个窗口,因为它正在另一个线程上运行到UI线程。我得到一个'Initialization of 'System.Windows.Controls.X' threw an exception.'...
但是当我在UI线程中调用下一个Window时,我没有收到错误。如何从另一个线程中调用一个Window?
Page2 page2 = new Page2();
App.Current.MainWindow = page2;
this.SimpleInvoke(() => this.Close());
this.SimpleInvoke(() => page2.Show());
public static class DispatcherObjectExtensions
{
public static void SimpleInvoke(this DispatcherObject dispatcherObject, Action action)
{
dispatcherObject.Dispatcher.Invoke(action);
}
}
答案 0 :(得分:0)
尝试这样的事情:
Application.Current.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart)delegate()
{
// in the gui thread here, so do what you gotta do
});