【发布时间】:2011-01-08 06:38:17
【问题描述】:
在我的 WPF 应用程序中有多个地方我需要一个看起来和感觉都像普通按钮的按钮,但是:
- 上面显示一个特定的图标(定义为
{StaticResource EditIcon}) - 它应用一种样式(定义为
{StaticResource GrayOutButtonStyle})
我更愿意在单个位置定义这些属性,而不是在每个使用按钮的地方重复它们。 在 XAML 中执行此操作的适当方法是什么?
--
如果有帮助,以下是我目前正在做的事情,但有人告诉我这是错误的:
更新:这是错误的方式吗?有没有办法解决这个问题,使它成为“正确的方法”?
我将按钮定义为模板,键为EditButton:
<ControlTemplate x:Key="EditButton" TargetType="{x:Type Button}">
<Button Style="{StaticResource GrayOutButtonStyle}"
Command="{TemplateBinding Command}">
<Image x:Name="editImage" Source="{StaticResource EditIcon}" />
</Button>
</ControlTemplate>
然后,我用模板 EditButton 声明一个按钮,我想在应用程序中的每个地方使用它。我还在这里指出要调用的命令:
<Button Template="{StaticResource EditButton}" Command="..." />
这不对吗?这样做的正确方法是什么?
【问题讨论】:
标签: wpf xaml button styles controltemplate