서로를 재설정하려면 두 개의 토글 버튼이 필요합니다. 라디오 버튼과 비슷하지만 tri-state가 있습니다. 즉상호 토글 버튼 - 두 개의 토글 버튼을 사용하여 트리거를 사용하여 트라이 상태를 나타냅니다.
- 버튼 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는 다시 누를 때까지 버튼 2가 선택 취소 된 상태로 유지됩니다.
그래서 버튼 1과 2 사이를 전환하기 위해, 나는 내가 항상 주를 통과해야 내가 만들려고하고있는 세 가지 상태를 고려, 즉 버튼 2.
두 번 클릭해야 매번 선택되지 않은 상태이며 다른 두 상태간에 직접 이동할 수 없습니다.
내가 뭘 잘못하고 있니?
원본 코드가 작동하지 않는 이유는 무엇입니까? VS에 XAML에서 이벤트가 발생하는 방식을 디버깅 할 수있는 도구가 있습니까? C#에없는 Microsoft WPF 상호 작용의 신비한 소름 끼치는 세계를 발견하십시오. – Bishoy
@Bishoy : 기본적으로 트리거의 조건이 참으로 중지되면 이전에 수행 한 작업을 실행 취소하려고 시도하기 때문에 기본적으로 – mm8