只有当用户点击按钮时才能激活Checked
和Unchecked
吗?
IsChecked
绑定到Playing
属性。此值可能会从后台(而非用户)更改。因此,它会导致Checked和Unchecked事件再次触发并与其他事件发生冲突。
当我尝试编写代码来修复它时,它变得非常混乱。谢谢你的帮助。
<ToggleButton x:Name="TogglePlay" Width="90"
Style="{DynamicResource TogglePlay}"
IsChecked="{Binding SessionData.Playing}"
Checked="TogglePlay_Checked" Unchecked="TogglePlay_OnUnchecked"/>
<StackPanel.Resources>
<Style x:Key="TogglePlay" TargetType="ToggleButton">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked , ElementName=TogglePlay}" Value="False">
<Setter Property="Content" Value="Play" />
</DataTrigger>
<DataTrigger Binding="{Binding IsChecked , ElementName=TogglePlay}" Value="True">
<Setter Property="Content" Value="Pause" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Resources>
答案 0 :(得分:1)
您可以尝试使用绑定模式&#34; OneWayToSource&#34;