触发器不适用于 ToggleButton.IsChecked 属性

2023-12-02

这是一个带有触发器的简单 XAML,在检查时应更改 ToggleButton 内容。但由于某种原因它不起作用。我有一种愚蠢的感觉,我错过了一些特别小的事情。感谢你的帮助

<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>

你必须移动Content="&lt;" from ToggleButton的设置者Style.

Example:

<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>

因为局部值有higher precedence样式设置器和触发器的顺序:

  1. 财产制度强制。

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

    3. Local value.

  3. TemplatedParent 模板属性。

  4. 隐式风格。

    6. Style triggers.

  5. 模板触发器。

    8. Style setters.

...

欲了解更多信息,请参阅:

MSDN: Dependency Property Value Precedence

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

触发器不适用于 ToggleButton.IsChecked 属性 的相关文章

随机推荐