检查绑定属性是否存在

7

我有一个情况,即应用程序中有一个通用控件在多个地方使用。

现在,在这个控件上有一个数据触发器,针对属性A。即:

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

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

类似于:

Multidatatrigger

DataTrigger Binding A - doesn't exist
DataTrigger Binding B  

请问有人能建议我如何处理这个问题吗?如果我尝试这样做,绑定异常将被抛出,因为A在当前视图模型中不存在。还是有其他方法可以在这里使用......谢谢

1个回答

13

你可以使用PriorityBinding

<DataTrigger Value="XXX">
  <DataTrigger.Binding>
     <PriorityBinding>
        <Binding Path="A"/>
        <Binding Path="B"/>
     </PriorityBinding>
  </DataTrigger.Binding>
  <Setter ...
</DataTrigger>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接