使用图像+文本设置WPF按钮的样式

在我的C#/ WPF / .NET 4.5应用程序中,我有按钮,其中包含以下列方式实现的图像:

 

我有一个资源字典UIStyles.xaml ,其中我声明了以下内容:

                           

光标,高度,边框等属性工作正常,但我无法设置TextBlockImage样式。

具体来说,需要看起来像这样:

正确的样子

结束看起来像这样(忽略色差):

看起来不对

我之前看到过类似的问题 ,但是解决方案使用了不同的方法(我不想创建自定义用户控件,除了这个之外,我的所有需求都包含在当前代码中,重写将是一件麻烦事)。 我只需要修复我的Style ,使TextBlock居中, Image居中并缩小。

如何重新编写Style以更正按钮的外观?

您的问题的解决方案可能是将Image和TextBlock样式移动到ControlTemplate的Resource部分。 我不确定为什么 ,但我相信如果它们是内容演示者资源的一部分,则样式不在范围内。

尝试这样的事情:

Button

  

Style

  

您可能需要更改Style ImageHeight / Margin以满足您的需要。

我认为,如果你设置Button的ContentTemplate而不是Content,它会起作用。

  

使用height属性来修复图像高度,比方说30(取决于你的要求)并使用HorzontalAllignment为textblock居中它会工作正常