1
행 데이터 바인딩 유형의 부울 속성을 기반으로 확장기 토글 버튼의 표시를 숨기려고합니다. 나는이와 그것은 IsEnabled 속성을 기반으로 렌더링있어 변경하도록 ToggleButton의 스타일을 구현하고, 확장기의의 IsEnabled이를 결합했다 :WPF DataGrid Expander.IsEnabled 바인딩
<Style x:Key="ExpandCollapseToggleStyle" TargetType="{x:Type ToggleButton}">
<Setter Property="IsEnabled" Value="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Expander}}, Path=IsEnabled}" />
</Style>
나는 다음과 같이 확장기의의 IsEnabled에 바인딩하려고 :
<DataGrid.RowHeaderTemplate>
<DataTemplate>
<Expander Expanded="Expander_Expanded" Collapsed="Expander_Collapsed" Style="{StaticResource DataGridRowHeaderExpander1}"
IsEnabled="{Binding IsDistributed}">
</Expander>
</DataTemplate>
</DataGrid.RowHeaderTemplate>
IsEnabled를 true 또는 false로 하드 코딩하면 렌더링이 완벽하게 작동합니다. 또한 다른 모든 행 바인딩은 예상대로 작동합니다. 이 경우 나는 다음과 같은 오류를 얻을 :
System.Windows.Data Warning: 67 : BindingExpression (hash=63415529): Resolving source (last chance)
System.Windows.Data Warning: 70 : BindingExpression (hash=63415529): Found data context element: Expander (hash=22324024) (OK)
System.Windows.Data Warning: 78 : BindingExpression (hash=63415529): Activate with root item <null>
System.Windows.Data Warning: 106 : BindingExpression (hash=63415529): Item at level 0 is null - no accessor
System.Windows.Data Warning: 80 : BindingExpression (hash=63415529): TransferValue - got raw value {DependencyProperty.UnsetValue}
System.Windows.Data Warning: 88 : BindingExpression (hash=63415529): TransferValue - using fallback/default value 'True'
System.Windows.Data Warning: 89 : BindingExpression (hash=63415529): TransferValue - using final value 'True'