wpf - 将图像设置为 Button 的样式内容

标签 wpf xaml datatemplate staticresource

我有一个像这样定义的 WPF 按钮:

<Button Style="{StaticResource RevertButtonStyle}" />

这是样式的外观:
<Style x:Key="RevertButtonStyle" TargetType="{x:Type Button}">
    <Setter Property="Height" Value="25" />
    <Setter Property="Width" Value="20" />
    <Setter Property="Margin" Value="3,0,0,0" />
</Style>

如何更改样式以指定内容以使用名为“revert.png”的图像?

谢谢。

最佳答案

您不能使用将 Content 属性设置为 Image 的实例。控件,因为这样图像可以被多个按钮使用。这将导致“视觉已经是另一个视觉的 child ”异常。

相反,您可以像这样使用 DataTemplate:

<Setter Property="ContentTemplate">
    <Setter.Value>
        <DataTemplate>
            <Image Source="revert.png" />
        </DataTemplate>
    </Setter.Value>
</Setter>

显然,您可能需要调整图像的源 URI。

关于wpf - 将图像设置为 Button 的样式内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7250709/

相关文章:

xaml - 将属性绑定(bind)到 Listview DataTemplate 中的元素

wpf - 访问 DataTemplate 内的元素...如何访问超过 1 个 DataTemplate?

WPF 两个命令处理程序,一个命令

c# - WPF Binding.ValidationRules 基于条件

wpf - 解析外部用户控制 x :Name Convention Bindings in Caliburn. Micro

c# - 使用 WrapGrid 的 Uwp 分组 GridView

WPF XAML 在 IsEnabled 状态下更改图像不透明度

.net - 将菜单项添加到默认上下文菜单

c# - 如何将 `enum` 转换为 XAML 矢量图标对象并在同一窗口中多次显示它?

wpf 列表框和内部带有网格的数据模板