我创建了一个包含许多按钮的WPF应用程序。
现在,客户想要将所有按钮更改为图标。 例如: 所有OK按钮应该具有相同的图标,所有取消btns等等。
我想放入所有按钮Style =“{StaticResource ButtonStyle_OK}”,Style =“{StaticResource ButtonStyle_OK}”等。
现在我的问题是,我必须在这些样式中放置什么
<Style x:Key="ButtonStyle_OK" TargetType="Button">
<!-- What comes here? -->
</Style>
我很害怕我要将我的应用程序中的所有按钮更改为Image并使用MouseDown事件进行单击,这会是愚蠢的吗?
注意: 我希望按钮是一个图像 - 而不是包含图像的按钮(即我不想要原始按钮框架),谈论形状。 我希望这些按钮/样式可以重复使用。
答案 0 :(得分:3)
将它们放入资源字典中,然后你要做的就是换掉字典来改变样式,而且几乎与按钮的UI面等有关。
我想你想要一个标签中的控件模板,如下所示:
<Setter TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
</ControlTemplate>
</Setter.Value>
<Setter Property="Template">
</Setter>
你应该能够在线找到默认模板(MSDN)相对容易。 我建议使用Blend来做这件事(如果可以的话) - 它可以使hella更容易。
答案 1 :(得分:2)
看看这篇关于样式的MSDN文章 - http://msdn.microsoft.com/en-us/library/ms745683.aspx
我认为你可以通过阅读ControlTemplate部分获得一些牵引力。
另外,正如Chris所说,样式可以进入资源字典,然后通过省略键可以全局应用于所有按钮。
更新:您不需要将图像与click事件一起使用,使用ControlTemplate可以更精确地定义按钮的外观。
另一个例子 - http://mrpmorris.blogspot.com/2008/04/wpf-custom-button-templates.html