gpt4 book ai didi

wpf - 在 WPF 中,触发器的顺序重要吗?

转载 作者:行者123 更新时间:2023-12-03 02:26:03 24 4
gpt4 key购买 nike

我有以下 xaml:

<DockPanel>
<DockPanel.Resources>
<Style TargetType="Button">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="Yellow"></Setter>
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Foreground" Value="Green"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</DockPanel.Resources>
<Button Content="Cut" Height="30" Width="75"/>
</DockPanel>

发生的情况是,当我将鼠标悬停在按钮上时,前景变为黄色,然后当我按下按钮时,前景变为绿色。

现在,如果我颠倒 XAML 中触发器的顺序,当我将鼠标悬停在其上时,前景会变为黄色,但当我按下按钮时,前景不会变为绿色。

对此有何解释?一个触发器是否会覆盖另一个触发器?

最佳答案

WPF 正在按声明的顺序处理您的触发器。在第二个示例中,前景短暂地变为绿色。但随后 IsMouseOver 触发器运行并将颜色设置回黄色。

IsMouseOver 与 IsPressed 在优先级上没有关系。重要的是触发器在 XAML 中的声明顺序。

关于wpf - 在 WPF 中,触发器的顺序重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/561178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com