[英]Catel show dialog window inside a ViewModel
請幫忙。 我以任何方法將此構造放入主ViewModel
Thread thread = new Thread(() =>
{
_visualizerService.ShowDialog(new PurchaseWindowViewModel());
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
而且我在PurchaseWindowViewModel.xaml.cs中有例外
PresentationFramework.dll中發生類型'System.InvalidOperationException'的異常,但未在用戶代碼中處理。 附加信息:無法訪問對象Freezable“ Catel.Windows.Media.Effects.GrayscaleEffect”
通過線程,因為它不能被凍結。
幾乎不需要在單獨的線程上創建窗口,只有在極端情況下才需要“創建”窗口。 如果以下答案無法解決您的問題,請更新您的問題,為什么要在非UI線程上使用窗口。
我建議您改用以下代碼:
await _visualizerService.ShowDialogAsync<PurchaseWindowViewModel>();
或非異步:
_visualizerService.ShowDialog<PurchaseWindowViewModel>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.