トグルボタンを2つずつお互いにリセットする必要があります。ラジオボタンに似ていますが、トライステートです。すなわち相互トグルボタン - トグルを使用してトライステートを表現するために2つのトグルボタンを使用
- ボタン1は
- ボタン2が
- なし私は、次の試してみました
を確認されていないチェックされてチェックされます。
<ToggleButton x:Name="Button1" IsEnabled="{Binding IsConnected}">
<ToggleButton.Style>
<Style TargetType="ToggleButton" BasedOn="{StaticResource DetailedSettingsButtonStyle}" >
<Setter Property="IsChecked" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Button2, Path=IsChecked}" Value="True">
<Setter Property="IsChecked" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
<ToggleButton x:Name="Button2"
IsEnabled="{Binding IsConnected}">
<ToggleButton.Style>
<Style TargetType="ToggleButton" BasedOn="{StaticResource DetailedSettingsButtonStyle}" >
<Setter Property="IsChecked" Value="False" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=Button1, Path=IsChecked}" Value="True">
<Setter Property="IsChecked" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
ボタン1がチェックされたときに結果がありますボタン2をクリックすると、ボタン1は期待どおりにチェックされなくなりますが、ボタン2は再度押すまでチェックされません。
だから、ボタン1と2を切り替えるために、私は、私は常に状態を通過する必要があり、私が作成しようとしています三つの状態を考慮し、換言すれば、ボタン2.
に二回クリックする必要があります他の2つの州の間を直接移動する方法はありません。
私は間違って何を考えていますか?
元のコードが機能しない理由は何ですか? XAMLでイベントがどのように発生するかをデバッグするためのツールがVSにありますか? C#にないMicrosoft WPFのやりとりの不思議な世界を発見してください。 – Bishoy
@Bishoy:基本的には、トリガーの条件が真でなくなったときに、以前に行ったことを取り消そうとするためです。 – mm8