繁体   English   中英

在ViewModel Silverlight MVVM中处理CheckBox的Checked和Uncheck事件

[英]Handle CheckBox's Checked and Uncheck event in ViewModel Silverlight MVVM

我有一个函数应用于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):

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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM