2015-11-02 80 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'属性,并使用转换器或数据触发器根据该属性的值选择适当的图标。 –

回答