0
是否有任何方法使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>
感謝。這確實解決了大多數問題。一個問題是,當玩家從後臺停止時,按鈕內容不會更新。 –
嘗試在OneWayToSource模式下綁定TwoWay/OneWay模式和IsChecked屬性中的Content屬性。 – acidhills
也許在你的情況下,你應該禁用IsChecked綁定,並綁定內容。 – acidhills