xaml:有没有办法在多个触发器中实现OR逻辑?

发布于 2024-08-14 22:35:47 字数 469 浏览 9 评论 0原文

我希望角色是 TopLevelHeader OR TopLevelItem 以及 IsPressed。不指定两个 MultiTriggers 是否可以实现?

<MultiTrigger>

  <MultiTrigger.Conditions>

  <!--  IsPressed   -->
  <Condition Property="IsPressed" Value="True"/>
  <Condition Property="Role" Value="TopLevelHeader"/>

  </MultiTrigger.Conditions>

    <Setter TargetName="Border" Property="Background" .../>

</MultiTrigger>

TIA

I want the Role to be either TopLevelHeader OR TopLevelItem as well as IsPressed. Is this possible without specifying two MultiTriggers?

<MultiTrigger>

  <MultiTrigger.Conditions>

  <!--  IsPressed   -->
  <Condition Property="IsPressed" Value="True"/>
  <Condition Property="Role" Value="TopLevelHeader"/>

  </MultiTrigger.Conditions>

    <Setter TargetName="Border" Property="Background" .../>

</MultiTrigger>

TIA

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

江城子 2024-08-21 22:35:47

Charlie Robbins 发表了一篇文章 如何使用带有“或”条件的 MultiTrigger

MultiTrigger(和MultiDataTrigger)
两者都有一个名为
“条件”类型
条件集合。各条件
这些对象内
ConditionCollections 可用于
两种方法之一:

  1. 您可以设置 Property 和 Value 属性来设置普通的
    财产状况。
  2. 您可以设置 Binding 和 Value 属性来设置数据条件。

现在如果你想完成一个或
无论哪种情况,你都会
实际上使用 MultiDataTrigger。这
这里的问题是我们可以使用
条件的约束属性
类与
MultiValueConverter 以获得所需的
行为... 了解更多

他还发布了示例解决方案

Charlie Robbins has posted an article on How to use a MultiTrigger with an "or" condition:

MultiTrigger (and MultiDataTrigger)
both take have a property called
'Conditions' of type
ConditionCollection. Each Condition
object within these
ConditionCollections can be used in
one of two ways:

  1. You can set the Property and Value properties to setup an ordinary
    property condition.
  2. You can set the Binding and Value properties to setup a data condition.

Now if you want to accomplish an or
condition in either case you will
actually use a MultiDataTrigger. The
gotcha here is that we can use the
Binding property of the Condition
class in conjunction with a
MultiValueConverter to get the desired
behavior... read more

He's posted a sample solution as well.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文