我想根据选中的复选框更改.ico:
<MenuItem Header="_Online" Command="{Binding SetStatusOnlineCommand}" />
<MenuItem Header="_Away" Command="{Binding SetStatusAwayCommand}" />
<MenuItem Header="_Offline" Command="{Binding SetStatusOfflineCommand}" />
由于我使用的是MVVM Light及其SimpleIoC,我不知道如何实现这一目标。
我的ViewModel不知道它所代表的窗口,因此我无法更改窗口的图标。我的窗口通过localter获取XAML中的DataContext:
<DockPanel x:Name="MainPanel" DataContext="{Binding MainViewModel, Source={StaticResource Locator}}">
我想在ViewModel中创建一个PropertyChangeEvent。窗口注册到这个事件,但由于我通过我的XAML中的定位器进行实例化,我无法从我的窗口访问它,或者我错了?!
我可以使用OnChange-Events ...然后我将打破MVVM模式。有没有人有一个好主意来实现这个目标?!
答案 0 :(得分:2)
您可以将窗口作为命令参数传递:
<MenuItem Header="_Online" Command="{Binding SetStatusOnlineCommand}"
CommandParameter="{Binding ElementName=YourWindowName}" />