[英]Trigger doesn't work on ToggleButton.IsChecked property
这是带有触发器的简单XAML,应在选中后更改ToggleButton的内容。 但是由于某种原因,它不起作用。 我很傻,觉得自己错过了一些小东西。 感谢您的帮助
<ToggleButton Content="<">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value=">" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
您必须移动Content="<"
从ToggleButton
到Style
setter。
例:
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Setter Property="Content" Value="<" />
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value=">" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
由于局部值的higher precedence
级高于样式设置器和触发器的顺序:
财产制度的强制。
活动动画或具有“保持”行为的动画。
3. Local value.
TemplatedParent模板属性。
隐式风格。
6. Style triggers.
模板触发器。
8. Style setters.
...
有关更多信息,请参见:
要覆盖Content
通过设置在触发设定Content
的控制级别属性。 你想使用设置它Setter
的风格,而不是内:
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Setter Property="Content" Value="<" />
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value=">" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.