2011-06-28 24 views
0

我正在使用Caliburn.Micro MVVM框架編寫WPF應用程序。在Caliburn Micro中實現每個Active View的特定操作

我的ShellViewModel是一個指揮,因此有ActiveItem,我可以在ActiveItem之間切換的罰款。

我的問題來處理我的應用程序菜單。這是在ShellView.xaml標記,我有一個「保存」菜單項。我希望這會傳遞給ActiveItemSave()方法,並綁定到ActiveItem上的CanSave guard屬性,並在沒有活動項目或活動項目不支持保存時關閉。

我看不到處理案例的簡單方法。有沒有其他人嘗試類似的方法,他們是否找到了一種用Caliburn.Micro做到這一點的好方法?

我對如何做到這一點有其他想法,但是Caliburn.Micro提供的所有其他想法,我覺得我必須缺少一些簡單的東西。

在此先感謝。

回答

0

您可以使用Event Aggregator發佈Save事件並讓活動項IsActive處理SaveEvent。

對於後衛,您可以使用MEF在ShellVM和ActiveItem之間共享一個CanSave測試值。