2012-01-06 71 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> 
相关问题