【发布时间】:2020-12-04 23:59:58
【问题描述】:
这就是问题所在。我正在将 TreeView 与几种不同类型的对象绑定。每个对象都是一个节点,有些对象有一个名为 IsNodeExpanded 的属性,当然有些则没有。这是我的风格:
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsNodeExpanded, Mode=TwoWay}" />
</Style>
现在,问题是当绑定没有这个属性的项目时,我们在输出中得到这个错误:
System.Windows.Data Error: 39 : BindingExpression path error: 'IsNodeExpanded' property not found on 'object' ''CompensationChannel' (HashCode=56992474)'. BindingExpression:Path=IsNodeExpanded; DataItem='CompensationChannel' (HashCode=56992474); target element is 'TreeViewItem' (Name=''); target property is 'IsExpanded' (type 'Boolean')
当然,我们得到了很多次。所以我试图想出一种方法来根据它拥有的 DataType 切换 TreeViewItem 的样式。关于如何做到这一点的任何想法?
一些信息:我不能为每个项目手动执行,因为我不是在 XAML 中创建它们,它们是从数据源动态创建的。
编辑:我找到了this answer,但它对我不起作用。
【问题讨论】:
标签: wpf data-binding styles