在xaml中更改切换按钮的图标样式

时间:2014-08-18 09:34:46

标签: c# wpf xaml

我正在尝试更改用于切换按钮的图标,具体取决于isChecked的状态,但是我能找到的唯一示例如何使用图像来显示图标。

但是,我有静态图标样式而不是图像,所以我想知道如何做到这一点。

作为一个起点,如果我像这样创建我的切换按钮:

 <ToggleButton Style="{StaticResource ToggleButtonStyle}">                             
     <Path Style="{StaticResource Test1IconStyle}"  HorizontalAlignment="Right" />                
 </ToggleButton>

然后显示ToggleButton样式和正确的Icon。

现在让我说我点击按钮,我需要根据isChecked值将'Path'重置为'Test2IconStyle'。

这可能吗?

1 个答案:

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