【问题标题】:Handle CheckBox's Checked and Uncheck event in ViewModel Silverlight MVVM在 ViewModel Silverlight MVVM 中处理 CheckBox 的 Checked 和 Uncheck 事件
【发布时间】:2014-01-23 12:39:01
【问题描述】:

我在 silverlight 数据网格中的复选框的选中和未选中事件上应用了一个函数。我已经在 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();
        }
    }

【问题讨论】:

    标签: c# silverlight mvvm checkbox viewmodel


    【解决方案1】:

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

    public void DoCheckboxStuff(bool checked)
    {
        ...
    }
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-18
      • 1970-01-01
      • 2012-06-19
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多