簡體   English   中英

View模型中的Catel顯示對話窗口

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM