我正在尝试更改用于切换按钮的图标,具体取决于isChecked的状态,但是我能找到的唯一示例如何使用图像来显示图标。
但是,我有静态图标样式而不是图像,所以我想知道如何做到这一点。
作为一个起点,如果我像这样创建我的切换按钮:
<ToggleButton Style="{StaticResource ToggleButtonStyle}">
<Path Style="{StaticResource Test1IconStyle}" HorizontalAlignment="Right" />
</ToggleButton>
然后显示ToggleButton样式和正确的Icon。
现在让我说我点击按钮,我需要根据isChecked值将'Path'重置为'Test2IconStyle'。
这可能吗?
答案 0 :(得分:3)
我建议您在资源中使用两个单独的路径,而不是切换样式,根据条件,您可以像这样切换它们:
<StackPanel>
<StackPanel.Resources>
<Path x:Key="Test1"/>
<Path x:Key="Test2"/>
</StackPanel.Resources>
<ToggleButton>
<ToggleButton.Style>
<Style TargetType="ToggleButton"
BasedOn="{StaticResource ToggleButtonStyle}">
<Setter Property="Content" Value="{StaticResource Test1}"/>
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content"
Value="{StaticResource Test2}"/>
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</StackPanel>