触发器不适用于ToggleButton.IsChecked属性 [英] Trigger doesn't work on ToggleButton.IsChecked property

查看:80
本文介绍了触发器不适用于ToggleButton.IsChecked属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是带有触发器的简单XAML,应在选中后更改ToggleButton的内容.但是由于某种原因,它不起作用.我有一种愚蠢的感觉,我错过了一些特别小的东西.感谢您的帮助

Here is a simple XAML with trigger that should change ToggleButton content when it is checked. But for some reason it doesn't work. I have a silly feeling that I missed something extra small. Appreciate your help

<ToggleButton Content="&lt;">
    <ToggleButton.Style>
        <Style TargetType="ToggleButton">
            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Content" Value="&gt;" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>

推荐答案

您必须从 ToggleButton 来设置 Style .

示例:

<ToggleButton>
    <ToggleButton.Style>
        <Style TargetType="ToggleButton">
            <Setter Property="Content" Value="&lt;" />

            <Style.Triggers>
                <Trigger Property="IsChecked" Value="True">
                    <Setter Property="Content" Value="&gt;" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </ToggleButton.Style>
</ToggleButton>

因为局部值比样式设置器和触发器的优先级高 :

Because local value has higher precedence order over Style setters and triggers:

  1. 财产制度强制.

  1. Property system coercion.

活动动画或具有保持"行为的动画.

Active animations, or animations with a Hold behavior.

3.本地值.

TemplatedParent模板属性.

TemplatedParent template properties.

隐喻风格.

6.样式触发器.

模板触发器.

8.样式设置器.

...

有关更多信息,请参见:

For more information, please see:

MSDN:依赖属性值优先级

这篇关于触发器不适用于ToggleButton.IsChecked属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆