2012-01-06 85 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> 
相關問題