WPF中ToggleButton同步实现:点击一个其余自动取消选中
点击菜单中的任意ToggleButton,其余所有ToggleButton都会取消选中状态。我找到了一个适合自己的解决方案,在此分享,也欢迎各位提供其他解决方案。
菜单效果

XAML代码
<WrapPanel x:Name="ToggleButtons"> <ToggleButton x:Name="Products" Checked="TopMenuButton_Checked"> <ToggleButton.OpacityMask> <ImageBrush ImageSource="/product-icon.png" Stretch="Uniform"/> </ToggleButton.OpacityMask> </ToggleButton> <ToggleButton x:Name="Incoming_products" Checked="TopMenuButton_Checked"> <ToggleButton.OpacityMask> <ImageBrush ImageSource="/document-icon.png" Stretch="Uniform"/> </ToggleButton.OpacityMask> </ToggleButton> <ToggleButton x:Name="Storehouses" Checked="TopMenuButton_Checked"> <ToggleButton.OpacityMask> <ImageBrush ImageSource="/warehouse-icon.png" Stretch="Uniform"/> </ToggleButton.OpacityMask> </ToggleButton> <ToggleButton x:Name="Products_in_storehouse" Checked="TopMenuButton_Checked"> <ToggleButton.OpacityMask> <ImageBrush ImageSource="/store-icon.png" Stretch="Uniform"/> </ToggleButton.OpacityMask> </ToggleButton> </WrapPanel>
C#代码
private void TopMenuButton_Checked(object sender, RoutedEventArgs e) { foreach(ToggleButton b in ToggleButtons.Children) { if (b != (ToggleButton)sender) { b.IsChecked = false; } } }
若您有其他解决方案,欢迎告知。
内容的提问来源于stack exchange,提问作者Lev
相关产品推荐
相关产品推荐

