我希望自定义wpf中切换按钮的状态。当开启时,我想为切换按钮设置一张图片,关闭时则设置另一张图片。为此,我考虑使用触发器。以下是我的做法:
<Window ...>
<Window.Resources>
<Image x:Key="OnImage" Source="C:\ON.jpg" />
<Image x:Key="OffImage" Source="C:\OFF.jpg" />
<Style x:Key="OnOffToggleImageStyle" TargetType="ToggleButton">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Content" Value="{StaticResource OnImage}" />
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Content" Value="{StaticResource OffImage}" />
</Trigger>
</Style.Triggers>
</Style>
</Window.Resources>
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
...
<ToggleButton IsChecked="{Binding Status}" Width="100" Height="35" Style="{StaticResource OnOffToggleImageStyle}" />
...
</DataTemplate>
</ListBox.ItemTemplate>
</Window>
上面的代码片段似乎只适用于列表框中的两个项目。如果有多个项目具有绑定值,并且状态为true,则它将无法正常工作(仅适用于一个此类项目)。请告诉我是否在正确的方向上进行。还请告诉我实现此目标的其他方法。