1

我创建了一个有很多按钮的 WPF 应用程序。

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

我想放入所有按钮 Style="{StaticResource ButtonStyle_OK}"、Style="{StaticResource ButtonStyle_OK}" 等。

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

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

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

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

4

2 回答 2

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 来做到这一点(如果可以的话)——它可以让事情变得更容易。

于 2009-09-09T21:25:42.730 回答
2

看看这篇关于样式的 MSDN 文章 - http://msdn.microsoft.com/en-us/library/ms745683.aspx

我认为您可以通过阅读 ControlTemplate 部分获得一些吸引力。

此外,正如 Chris 所指出的,样式可以进入资源字典,然后可以通过省略一个键来全局应用于所有按钮。

更新:您不需要使用带有单击事件的图像,使用 ControlTemplate 将允许您更精确地定义按钮的外观。

另一个例子 - http://mrpmorris.blogspot.com/2008/04/wpf-custom-button-templates.html

于 2009-09-10T00:09:04.350 回答