[英]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.