2014-01-06 2 views
0

У меня есть функция, примененная к проверке и неконтролируемому событию флажка в datagrid silverlight. Я сделал функцию в части xaml.cs. Как я могу сделать ту же функцию в ViewModel?Обработано CheckBox CheckBox и Uncheck событие в ViewModel Silverlight MVVM

Основная проблема: мне нужно получить доступ к отправителю в ViewModel.

private void HandleChecked(object sender, RoutedEventArgs e) 
    { 
     CheckBox chk = sender as CheckBox; 
     var bindingExpression = chk.GetBindingExpression(CheckBox.IsCheckedProperty); 
     if (bindingExpression != null) 
     { 
      bindingExpression.UpdateSource(); 
     } 
    } 

ответ

2

Вы могли бы сделать метод в вашей 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); 
} 
Смежные вопросы