1
窗口_splash
在不同的線程上創建。WPF - 將Window.Owner初始化爲在不同線程上創建的窗口
MainWindow.WindowStartupLocation = WindowStartupLocation.CenterOwner;
MainWindow.Owner = _splash; // Throw: The calling thread cannot access this object because a different thread owns it
我該如何讓這段代碼有效?
答:不要在後臺線程上創建窗口。 – 2011-06-15 20:19:50
切勿在後臺線程上操作UI。我沒有意識到其他操作系統,但是在使用標準控件的Win32應用程序中,這是不可行的。 – 2011-06-15 20:21:02
WPF完全能夠擁有多個UI線程,但是*任何* Windows應用程序(無論WPF與否)都會遇到問題,如果您嘗試使一個線程的窗口由另一個線程的窗口擁有。 Windows在兩個線程之間附加線程輸入,並且失去了多線程的所有優點。如果你需要所有者,不要在多個不同的線程上創建UI。 – 2011-06-15 22:30:22