2014-01-06 1 views
0

Silverlight DataGrid의 체크 박스의 체크 및 체크되지 않은 이벤트에 기능이 적용되었습니다. xaml.cs 부분에서이 기능을 만들었습니다. 어떻게하면 ViewModel에서 같은 기능을 할 수 있습니까?ViewModel의 CheckBox Checked 및 Uncheck 이벤트 처리 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); 
}