2016-06-14 12 views
0

私は以下のようにセルスタイルでCheck/Uncheckイベントを購読しました。WPFのdatagridcheckbox列のチェック/チェック解除イベントの登録を解除するにはどうすればよいですか?

この列にバインドされているプロパティをコードの背後から更新していますが、そのイベントを発生させるイベントは嫌いです。 winformsでは、イベントから退会し、チェックボックスをオフにしてから再登録しますが、WPF xamlでこれをどうすればできますか?

答えて

1

代わりにDataGridTemplateColumnを使用する方が簡単です。

 <DataGridTemplateColumn Header="Accepted"> 
      <DataGridTemplateColumn.CellTemplate> 
       <DataTemplate> 
        <CheckBox IsChecked="{Binding Mode=OneWay}" Checked="OnChecked_Accepted" Unchecked="OnUnchecked_Accepted" /> 
       </DataTemplate> 
      </DataGridTemplateColumn.CellTemplate> 
     </DataGridTemplateColumn> 
ハンドラで

private void OnUnchecked_Accepted(object sender, RoutedEventArgs e) 
    { 
     var cb = sender as CheckBox; 
     cb.Unchecked -= OnUnchecked_Accepted; //this line unsubscribes the event 
    } 
+0

この問題を解決するが、DataGridTemplateColumnを使用して、私は問題のチェック/スペースバーをオフにすることがあります。これを答えとして受け入れる。ありがとう! – NoSaidTheCompiler

関連する問題