WPF 让一组 Button 实现 RadioButton 的当前样式效果
WPF 让一组 Button 实现 RadioButton 的当前 样式 效果 —— 魏刘宏 2020 年 6 月 19 日 概述:本文通过 WPF 的数据 触发器 ( DataTrigger ) 和多重 绑定 ( MultiBinding ),在一组普通 按钮 (Button) 上实现了像单选 按钮 (RadioButton) 那样的,同一时间只有一个按钮具有当前样式(本文演示的是背景颜色)的效果。 需求起因:公司项目中有个 WPF 项目,有个界面下方有一块显示当前信息的区域,并且有几个按钮,意图是点击之后可以切换为另一区域的信息。由于到目前为止,业务中都还只有一个区域,所以之前同事就没写这切换的逻辑。经过本人的不懈努力,切换逻辑写好了,就差切换后按钮样式的转移了,如下图。 这种需求本来最好是直接使用 RadioButton,然后更改显示模板的。由于内部还有其它逻辑,改起来也没有那么轻松,加上之前触发器用得比较少,多重 绑定 也没怎么用过,正好可以借此机会练练手,所以就还是基于普通按钮来实现这个需求。 首先给出几个按钮的代码: < Button Command =" {Binding CommandEntranceSwitch} " CommandParameter ="1" Tag =" {Binding LeftEntranceSelected.Tag} " Style ="