我有一個caliburn Micro應用程序,其中我正在引導程序中加載幾個數據表。 我正在將其注入到MEF中以便稍後在應用程序中使用。WPF UI不從ViewModel/Caliburn.Micro更新
我想向用戶顯示進度的啓動畫面。到目前爲止,這一切都工作正常。 我使用EventAggregator讓各個類將消息投擲到Splash Screen ViewModel,但UI線程似乎不是工作來更新我的文本標籤。我的屬性設置得很好,我打電話給NotifyOfPropertyChange,但是我的窗口似乎被凍結,我的綁定屬性上的祖先沒有被調用。
public string Message
{
get
{
return this.message;
}
set
{
this.message = value;
//new System.Action(() => NotifyOfPropertyChange(() => Message)).BeginOnUIThread();
//App.Current.Dispatcher.Invoke(() => NotifyOfPropertyChange("Message"));
NotifyOfPropertyChange(() => Message);
}
}
public void Handle(StartupNotification message)
{
Message = message.Message;
}
Handle來自Caliburn.Micro IHandle EventAggregrator。數據被加載到引導程序中,我假設這個線程與UI線程是分離的,但我並不親自創建任何線程。
在我的引導程序我加載如下:
events.Publish(new StartupNotification("Loading Feeds..."));
batch.AddExportedValue<IFeedService>(new FeedService());
我試圖觸發通過間接措施的UI,但由於某些原因,我的主屏幕保持凍結。 任何人都可以指出我做錯了什麼?
最好的問候, 馬丁
顯示更多的代碼。消息如何設置?您的視圖中的綁定設置如何 –
您是否將數據加載到單獨的線程中? – dkozl
已更新,問題。 – Martin