WPF工具栏中Toolkit颜色选择器下拉按钮显示异常求助
让WPF Toolkit颜色选择器下拉按钮嵌入工具栏(类似Word样式)
嘿,我看你现在是手动用ToggleButton加Popup来模拟颜色选择器的触发逻辑,这就导致按钮和颜色面板脱节,没法像Word那样完全融入工具栏。其实WPF Toolkit的ColorPicker本身就自带适配工具栏的能力,不用额外套这么多层控件~
直接给你修正后的代码:
<DockPanel Margin="0,0,660,0"> <ToolBarTray> <ToolBar> <Button Command="New" Content="New" /> <Button Command="Open" Content="Open" /> <!-- 直接将ColorPicker放入ToolBar,配置属性适配工具栏样式 --> <xctk:ColorPicker Name="ColorPicker1" AdvancedButtonHeader="Advanced" DisplayColorAndName="True" ShowDropDownButton="True" IsDropDownOpen="{Binding IsChecked, RelativeSource={RelativeSource Self}, Mode=TwoWay}" /> </ToolBar> </ToolBarTray> </DockPanel>
核心调整说明:
- 删掉了多余的
ToggleButton和Popup:ColorPicker内置了下拉按钮和展开逻辑,不用自己手动实现 - 开启
ShowDropDownButton="True":让ColorPicker显示自带的下拉触发按钮,这个按钮会自动适配ToolBar的样式,完美嵌入工具栏 - 绑定
IsDropDownOpen属性:通过绑定到自身的IsChecked,实现点击按钮展开/收起颜色面板的交互,和Word的操作逻辑完全一致 - 保留了你原来需要的
AdvancedButtonHeader和DisplayColorAndName属性,不影响原有功能
这样改完之后,颜色选择器的下拉按钮就会像Word工具栏里的那样,完全嵌入工具栏中啦。
内容的提问来源于stack exchange,提问作者nam
相关产品推荐
相关产品推荐

