我正在使用WPF应用程序的工具栏。我们使用的图标集具有正常,悬停和禁用状态的单独图标,我想使用它们。我想知道最简单的解决方案/正常的做法是什么?
我的第一个想法是使用属性NormalImage,ActiveImage,DisabledImage创建一个用户控件“ImageButton”,其中包含IsMouseOver和IsEnabled的必要触发器。这可行,但遗憾的是导致按钮失去工具栏按钮样式,即它们获得标准按钮边框,鼠标悬停时没有蓝色背景并且间隔得太近。据我了解,这是因为WPF的工具栏控件覆盖了子Button元素的样式,并且无法重新设置我的Buttons,因为它们位于父ImageButton中。
有没有人有任何建议让这个工作?我对WPF很陌生,所以我可能只是以一种倒退的方式接近它。
答案 0 :(得分:3)
您可以将Button
的样式基于ToolBar.ButtonStyleKey所产生的Style
。例如:
<Style TargetType="Button" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
<Setter Property="MinHeight" Value="40"/>
</Style>