我正在尝试做一些非常简单的事情。我有一个绑定到布尔的 ToggleButton.IsChecked 属性。我希望背景在红色(假)和绿色(真)之间切换。但由于某种原因,它似乎在红色和无背景之间切换。我使用了一个转换器来检查我是否从源获得了正确的通知并且我是,所以不确定为什么一个触发器(假/红色)有效而另一个(真/绿色)没有。也想听听人们如何调试这些问题。谢谢!
这是代码。
<DataTemplate x:Name"Flipper">
<StackPanel>
...
<ToggleButton IsChecked="{Binding Path=BoolValue,
Converter={StaticResource converter}}"
Name="onoff" >
</ToggleButton>
...
<StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding ElementName=onoff,Path=IsChecked}"
Value="True">
<Setter TargetName="onoff" Property="Background" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=onoff,Path=IsChecked}"
Value="False">
<Setter TargetName="onoff" Property="Background" Value="Red"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
更新:我将切换按钮更改为复选框,它可以工作。不知道为什么...