Wpf 如何避免由于列表项中的额外属性而导致下拉列表中的绑定错误?

Wpf 如何避免由于列表项中的额外属性而导致下拉列表中的绑定错误?,wpf,data-binding,combobox,Wpf,Data Binding,Combobox,我有一个下拉列表…和一个由三个项目组成的列表-a、B和C 这两个类都派生自同一个类-ViewModelBase B有一个属性是某物化的。A和C不具有此属性 在这个下拉列表的触发器中…我有一个数据触发器…它基于属性-IsSomethingEnabled 但我得到数据绑定错误,因为这个属性在A和C中不存在 我如何解决这个问题? 任何帮助都将不胜感激 编辑: 我已修复使用以下代码-这是正确的方法吗 <DataTrigger Value="False">

我有一个下拉列表…和一个由三个项目组成的列表-a、B和C

这两个类都派生自同一个类-ViewModelBase

B有一个属性是某物化的。A和C不具有此属性

在这个下拉列表的触发器中…我有一个数据触发器…它基于属性-IsSomethingEnabled

但我得到数据绑定错误,因为这个属性在A和C中不存在

我如何解决这个问题? 任何帮助都将不胜感激

编辑: 我已修复使用以下代码-这是正确的方法吗

  <DataTrigger Value="False">
                                            <DataTrigger.Binding>
                                                <PriorityBinding FallbackValue="True">
                                                    <Binding Path="IsSomethingenabled" />
                                                </PriorityBinding>
                                            </DataTrigger.Binding>
                                            <Setter Property="IsEnabled"
                                                    Value="False" />
                                        </DataTrigger>

您可以通过为每种类型指定一个DataTemplate或实现一个DataTemplate选择器来实现。

我认为优先绑定更像是一个技巧,但我最近发现了它,它是一个很好的工具箱工具。无论如何,如果它是一种新的设计,我更愿意使用DataTemplateSelector。