You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF中ToggleButton同步实现:点击一个其余自动取消选中

实现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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 16:01:01