检查绑定属性是否存在

Roh*_*hit 4 data-binding wpf datatrigger

我有一种情况,其中有一个共同的控件,在应用程序中使用了几个地方.

现在我已经在一个属性上的数据触发器说A.即

DataTrigger Binding = {Binding A} .......

现在,视图模型中可能不存在属性A,在这种情况下,我需要添加基于属性B的另一个触发器(存在于该ViewModel中).

就像是:

Multidatatrigger

DataTrigger Binding A - doesn't exist
DataTrigger Binding B  
Run Code Online (Sandbox Code Playgroud)

做一点事.....

有人可以建议我如何处理这个问题..好像我试图这样做,然后将抛出绑定异常,因为A在当前视图模型中不存在.或任何其他方法在这里工作...谢谢

ani*_*vas 8

您可以使用PriorityBinding.

<DataTrigger Value="XXX">
  <DataTrigger.Binding>
     <PriorityBinding>
        <Binding Path="A"/>
        <Binding Path="B"/>
     </PriorityBinding>
  </DataTrigger.Binding>
  <Setter ...
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)