我在silverlight数据网格中的复选框的check and unchecked事件上应用了一个函数。我已经在xaml.cs部分中创建了该函数。如何在ViewModel中创建相同的功能?
主要问题是我需要在ViewModel中访问发件人。
private void HandleChecked(object sender, RoutedEventArgs e)
{
CheckBox chk = sender as CheckBox;
var bindingExpression = chk.GetBindingExpression(CheckBox.IsCheckedProperty);
if (bindingExpression != null)
{
bindingExpression.UpdateSource();
}
}
答案 0 :(得分:2)
您可以在ViewModel中创建一个方法(即MyViewModel.cs):
public void DoCheckboxStuff(bool checked)
{
...
}
并从您的View(.xaml.cs)访问它:
private void HandleChecked(object sender, RoutedEventArgs e)
{
CheckBox chk = sender as CheckBox;
MyViewModel mvm = this.DataContext as MyViewModel;
mvm.DoCheckboxStuff(chk.IsChecked);
}