我想自定义 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>
上面的代码片段似乎只适用于列表框中的两个项目。如果不止一项具有绑定值,status 为 true,则它不起作用(它仅适用于这样的一项)。请告诉我我是否朝着正确的方向前进。还告诉我实现这一目标的其他方法。