Wpf ImageButtons?

时间:2009-09-09 21:15:50

标签: wpf xaml button styles imagebutton

我创建了一个包含许多按钮的WPF应用程序。

现在,客户想要将所有按钮更改为图标。 例如: 所有OK按钮应该具有相同的图标,所有取消btns等等。

我想放入所有按钮Style =“{StaticResource ButtonStyle_OK}”,Style =“{StaticResource ButtonStyle_OK}”等。

现在我的问题是,我必须在这些样式中放置什么

<Style x:Key="ButtonStyle_OK" TargetType="Button">
    <!-- What comes here? -->                
</Style>

我很害怕我要将我的应用程序中的所有按钮更改为Image并使用MouseDown事件进行单击,这会是愚蠢的吗?

注意: 我希望按钮是一个图像 - 而不是包含图像的按钮(即我不想要原始按钮框架),谈论形状。 我希望这些按钮/样式可以重复使用。

2 个答案:

答案 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