2
두 개의 ToggleButtons 동작을 라디오 버튼과 비슷한 방식으로 수행하려고합니다. 그러나 중요한 차이점은 중 하나도 선택하지 않은 것이 유효한 경우입니다. (까지만 한 번에 하나씩 확인할 수 있으며, 상호 배타적입니다.) DataTrigger가 바인딩 될 때 WPF ToggleButton이 선택되지 않음
<Window>
<Grid>
<ToolBarTray DockPanel.Dock="Top">
<ToolBar>
<ToggleButton x:Name="ShowLineGridToggleButton">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=ShowDotGridToggleButton}" Value="True">
<Setter Property="IsChecked" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
<Image Source="../Images/ShowLineGrid.png" />
</ToggleButton>
<ToggleButton x:Name="ShowDotGridToggleButton">
<ToggleButton.Style>
<Style TargetType="ToggleButton">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=ShowLineGridToggleButton}" Value="True">
<Setter Property="IsChecked" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
<Image Source="../Images/ShowDotGrid.png" />
</ToggleButton>
</ToolBar>
</ToolBarTray>
<Grid>
</Window>
실제로 다른 선택을 취소합니다 하나 개의 버튼을 클릭 : 여기
거의 작동 일부 XAML입니다. 불행히도 어떤 일이 일어나고 있는지는 클릭 된 버튼이 확인되지 않는다는 것입니다. 마우스를 위로 움직이면 배경이 바뀌지 만 마우스가 멀리 떨어지면 버튼이 선택되지 않은 것으로 표시됩니다.
세터를 주석 처리하면 클릭 된 버튼을 확인할 수 있습니다. Setter가 클릭 한 버튼의 선택을 해제하는 것과 같습니다.
나는 XAML에서 이벤트 처리기를 통해 코드를 구현하는 것보다 처리 해야겠다. 이렇게하면 모든 것을 한 곳에서 정의 할 수 있습니다.
아이디어가 있으십니까?
TIA!