2012-01-06 6 views
3

こんにちは私はDataGridCheckBoxColumnを持っていると私はそれが、すぐにユーザーのチェックなどやDataGridCheckBoxColumnのチェックを外し根底にバインドされたオブジェクトにnotifypropertychangedしたいです。DataGridCheckBoxColumn NotifyPropertyChangedすぐ

現在のところ、ユーザーがDataGridCheckBoxColumnのチェックまたはチェックを外した後に別の行をクリックした場合にのみ表示されます。

XAML:

<DataGridCheckBoxColumn x:Name="isVisibleColumn" Binding="{Binding Path=isVisible}" Header="is Visible" Width="SizeToHeader" /> 

コードの背後にある:

public bool isVisible 
{ 
     get 
     { 
      if (this.Visibility1 == Visibility.Visible) 
      { 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
     set 
     { 
      if (value == true) 
      { 
       this.Visibility1 = Visibility.Visible; 
      } 
      else 
      { 
       this.Visibility1 = Visibility.Collapsed; 
      } 
      this.NotifyPropertyChanged("isVisible"); 


     } 
} 

答えて

3

変更のUpdateSourceTriggerのPropertyChangedに結合するのではなくLOSTFOCUSのデフォルトのままに

あなたは使用してこれを指定する必要がありますチェックボックス列の代わりに列テンプレート

<dg:DataGridTemplateColumn> 
    <dg:DataGridTemplateColumn.CellTemplate> 
    <DataTemplate> 
     <CheckBox IsChecked="{Binding Path=isVisible,UpdateSourceTrigger=PropertyChanged}" /> 
    </DataTemplate> 
    </dg:DataGridTemplateColumn.CellTemplate> 
</dg:DataGridTemplateColumn> 
関連する問題