wpf切换按钮:将图像与图像一起显示为内容

时间:2014-04-28 09:59:06

标签: wpf xaml mvvm

我有一个切换按钮,我想在切换按钮时显示一个图像和一些文本 当未选中时,我想显示另一个图像和另一个文本。

这是我的Xaml:

<Window.Resources>
<Image Source="DeActiveButton.png"
       x:Key="ImgDeactivate" />
<Image Source="ActiveButton.png"
       x:Key="ImgActivate" />

<Style TargetType="{x:Type ToggleButton}"
       x:Key="MyToggleButtonStyle">
    <Setter Property="Content"
            Value="{DynamicResource ImgDeactivate}" />
    <Style.Triggers>
        <Trigger Property="IsChecked"
                 Value="True">
            <Setter Property="Content"
                    Value="{DynamicResource ImgActivate}" />
        </Trigger>
    </Style.Triggers>
</Style>
</Window.Resources>

<Grid>
 <ToggleButton x:Name="btnDeactivate"
                          HorizontalAlignment="Stretch"
                          VerticalAlignment="Stretch"
                          Width="85"
                          Content="Deactivate"
                          Style="{DynamicResource MyToggleButtonStyle}">
            </ToggleButton>
</Grid>

但是上面的xaml只显示图像,我想显示一些文字和图像取决于切换按钮状态如何实现这个

1 个答案:

答案 0 :(得分:4)

ContentControl就像ToggleButton只能有一个UIElement作为其内容。但是,这个单个元素很容易成为容器控件,例如GridStackPanel。将容器控件设置为单个内容元素后,您可以随意添加任意数量的项目。

如果您在ControlTemplate的{​​{1}}中定义这些控件,则可以在ToggleButton部分中引用它们。尝试这样的事情:

ControlTemplate.Triggers