2014-04-24 82 views
1

我正在用Caliburn.Micro和MVVM通過WPF進行一些測試。我的應用程序有一個包含TabControl的AppView(WPF窗口)。裏面,我加載我的意見(WPF用戶控件)與其對應Screen ScreenModel在新標籤(SimpleMDI示例)。 現在我需要從我的視圖模型顯示一個對話框,我不喜歡這樣寫道:Caliburn Micro ShowDialog Modal僅用於查看

var windowManager = new WindowManager(); 
var login = new ConfirmActionViewModel(); 
windowManager.ShowDialog(login); 

這種方法的問題是,ShowDialog方法創建視圖莫代爾整個應用程序(它會阻止整個應用程序)。

我的問題

我怎樣才能讓這個對話框模式只有積極的看法?當我說模態我的意思是我需要阻止視圖,直到用戶點擊我的ConfirmActionView的按鈕。

我已經嘗試使用ModalContentPresenter類,但Caliburn存在一些問題,並且解決方案不像使用WindowManager那樣乾淨。謝謝!!!!

回答

1

對於您的具體問題,WindowManager不會幫助。 在Windows(和WPF)中,模態意味着模態到應用程序的所有窗口。 因爲這不是CM可以解決的問題。

你需要的是你的視圖上的覆蓋。 How to make overlay control above all other controls?

然後,您可以將覆蓋圖的可見性綁定到視圖模型上的屬性。

+0

謝謝。我最終使用ModalContenPresenter類來解決這個問題。 – ericpap