我是 MVVM 模式的新手,我必须在以下视图中拦截选中/未选中的操作
SendMessageView.xaml
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<CheckBox Checked="Specialita_Checked"
Unchecked="Specialita_Unchecked"
Content="{Binding Path=Item.Name}"
IsChecked="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ListBoxItem}},
Path=IsSelected,Mode=TwoWay}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
SendMessageView.xaml.cs
private void Specialita_Checked(object sender, System.Windows.RoutedEventArgs e)
{
var aSendMessageViewModel = (SendMessageViewModel)this.DataContext;
if (aSendMessageViewModel != null)
{
var aCheckBox = (CheckBox)sender;
aSendMessageViewModel.AddSpecialita(aCheckBox.Content.ToString());
}
}
一个名为的文件aSendMessageViewModel.cs
是在 a 中调用的SendMessageView.xaml.cs
,这是不正确的。帮助我正确使用 MVVM 模式。