4

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

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

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

4

1 回答 1

3

您可以基于ButtonToolBar.ButtonStyleKey生成Style的样式。例如:

<Style TargetType="Button" BasedOn="{StaticResource {x:Static ToolBar.ButtonStyleKey}}">
    <Setter Property="MinHeight" Value="40"/>
</Style>
于 2009-03-10T13:33:20.857 回答