在WPF中使用单独的活动/禁用图像创建工具栏按钮的最佳方法是什么?

时间:2009-03-10 13:25:57

标签: wpf wpf-controls

我正在使用WPF应用程序的工具栏。我们使用的图标集具有正常,悬停和禁用状态的单独图标,我想使用它们。我想知道最简单的解决方案/正常的做法是什么?

我的第一个想法是使用属性NormalImage,ActiveImage,DisabledImage创建一个用户控件“ImageButton”,其中包含IsMouseOver和IsEnabled的必要触发器。这可行,但遗憾的是导致按钮失去工具栏按钮样式,即它们获得标准按钮边框,鼠标悬停时没有蓝色背景并且间隔得太近。据我了解,这是因为WPF的工具栏控件覆盖了子Button元素的样式,并且无法重新设置我的Buttons,因为它们位于父ImageButton中。

有没有人有任何建议让这个工作?我对WPF很陌生,所以我可能只是以一种倒退的方式接近它。

1 个答案:

答案 0 :(得分:3)

您可以将Button的样式基于ToolBar.ButtonStyleKey所产生的Style。例如:

<Style TargetType="Button" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
    <Setter Property="MinHeight" Value="40"/>
</Style>