首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF DataGrid Expander.IsEnabled绑定

WPF DataGrid Expander.IsEnabled绑定
EN

Stack Overflow用户
提问于 2017-12-12 07:45:29
回答 0查看 326关注 0票数 1

我试图根据行数据绑定类型的布尔属性隐藏扩展器ToggleButton的显示。我已经实现了ToggleButton样式,这样它就可以根据IsEnabled属性更改它的呈现方式,并使用下面的代码将其绑定到Expander的IsEnabled:

代码语言:javascript
复制
<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,如下所示:

代码语言:javascript
复制
<DataGrid.RowHeaderTemplate>
  <DataTemplate>
    <Expander Expanded="Expander_Expanded" Collapsed="Expander_Collapsed" Style="{StaticResource DataGridRowHeaderExpander1}"
              IsEnabled="{Binding IsDistributed}">
    </Expander>
  </DataTemplate>
</DataGrid.RowHeaderTemplate>

如果我将IsEnabled硬编码为true或false,渲染就能完美地工作。此外,所有其他行绑定都按预期工作。在这种情况下,我得到以下错误:

代码语言:javascript
复制
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'
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47763262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档