我有當消息在我的瀏覽視圖模型被recived時顯示一個對話框窗口,一個新的對話框窗口時獲取「調用線程必須STA的」使用MVVM光信息
對話是這裏http://pastebin.com/BAeCLwhz (我知道我應該有一個空的代碼隱藏,但是使它空是第二優先,所以現在是不是一個問題!)
我創造我的項目視圖模型的窗口
MessengerInstance.Register<bool>(this, "Homing", ShowHomingDialog);
private void ShowHomingDialog(bool b)
{
HomingRobot hb = new HomingRobot();
hb.ShowDialog();
}
但當它運行時我得到「調用線程必須是STA」我試過調用項目中的對話框代碼隱藏,而不是在視圖模型中,但這給了我相同的結果。那麼,如何讓我的窗口彈出而不會「多線程」,即使在使用消息時也是如此?
它是我的對話框的創建我必須在調度器中創建一個?如果是的話,我是否會開始調用,然後「找到」UI線程? – Mech0z 2011-05-18 09:14:38
它可能是'hb.ShowDialog()',你需要發送並找到它,找到線程。在Dispatcher上做一些Google搜索。 – BenCr 2011-05-18 09:38:28