2015-11-02 79 views
0

後置圖標我想改變取決於.ICO哪個複選框被選中:MVVM光 - 獲取窗口實例的PropertyChange

 <MenuItem Header="_Online" Command="{Binding SetStatusOnlineCommand}" /> 
     <MenuItem Header="_Away" Command="{Binding SetStatusAwayCommand}" /> 
     <MenuItem Header="_Offline" Command="{Binding SetStatusOfflineCommand}" /> 

由於我使用的MVVM光,它是SimpleIoC我不知道如何爲了達成這個。

我的ViewModel不知道它代表的窗口,因此我不能更改窗口的圖標。我的窗口獲得通過localter就是它的DataContext內XAML:

<DockPanel x:Name="MainPanel" DataContext="{Binding MainViewModel, Source={StaticResource Locator}}"> 

我想創造我的視圖模型裏面一個PropertyChangeEvent。窗口註冊到這個事件,但因爲我通過我的XAML中的定位器instanciating,我沒有從我的窗口訪問它,或者我錯了嗎?!

我可以使用OnChange-Events ...但是我會打破MVVM模式。有沒有人有一個不錯的主意,實現這一目標?!

+0

看起來像一個完美的使用情況發佈 - 訂閱模式:你的命令(S)發送消息;你的Windows訂閱這個消息並相應地執行。 – Filburt

+0

我想將窗口的'Icon'屬性綁定到視圖模型中的'Status'屬性,並使用轉換器或數據觸發器根據該屬性的值選擇適當的圖標。 –

回答