Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 句柄复选框';s ViewModel Silverlight MVVM中的选中和取消选中事件_C#_Silverlight_Mvvm_Checkbox_Viewmodel - Fatal编程技术网

C# 句柄复选框';s ViewModel Silverlight MVVM中的选中和取消选中事件

C# 句柄复选框';s ViewModel Silverlight MVVM中的选中和取消选中事件,c#,silverlight,mvvm,checkbox,viewmodel,C#,Silverlight,Mvvm,Checkbox,Viewmodel,我有一个函数应用于silverlight数据网格中复选框的check和unchecked事件。我已经在xaml.cs部分实现了这个函数。如何在ViewModel中实现相同的功能 主要问题是我需要在ViewModel中访问发件人 private void HandleChecked(object sender, RoutedEventArgs e) { CheckBox chk = sender as CheckBox; var bindingExpress

我有一个函数应用于silverlight数据网格中复选框的check和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();
        }
    }

您可以在ViewModel(即MyViewModel.cs)中创建一个方法:

并从您的视图(.xaml.cs)中访问它:

public void DoCheckboxStuff(bool checked)
{
    ...
}
private void HandleChecked(object sender, RoutedEventArgs e)
{
    CheckBox chk = sender as CheckBox;
    MyViewModel mvm = this.DataContext as MyViewModel;
    mvm.DoCheckboxStuff(chk.IsChecked);
}