You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF应用中DataGrid列头Button内的Image图片不显示问题求助

问题修复方案

1. 确认图片资源配置

在解决方案资源管理器中找到Assets/filter-outline_black.png文件,右键点击选择「属性」,检查两项核心配置:

  • 「生成操作」必须设置为 Resource
  • 「复制到输出目录」设置为 如果较新则复制
    这是WPF中本地图片无法加载最常见的诱因,多数是新增图片文件后忘记修改默认属性导致的。

2. 修正图片路径写法

把Image的Source替换为标准Pack URI绝对路径写法,避免列头上下文导致的路径解析异常:

<Image Height="30" Width="30" Source="pack://application:,,,/TestDB;component/Assets/filter-outline_black.png" />

3. 调整布局适配列头规则

DataGrid列头默认自带内边距,且默认高度通常在28px左右,你设置的30px高度的图片会被列头裁剪,同时Background={x:Null}的写法也可能引发控件渲染异常,修改Button配置如下即可:

<Button Grid.Column="1" x:Name="btnFilterView" 
        Margin="0" 
        Background="Transparent" 
        BorderThickness="0"
        HorizontalAlignment="Right" 
        VerticalAlignment="Center">
    <Image Height="20" Width="20" Source="pack://application:,,,/TestDB;component/Assets/filter-outline_black.png" />
</Button>

如果需要保留30px尺寸的图片,可以额外给列头设置高度样式:

<DataGridTextColumn.HeaderStyle>
    <Style TargetType="DataGridColumnHeader">
        <Setter Property="Height" Value="35"/>
        <Setter Property="Padding" Value="2"/>
    </Style>
</DataGridTextColumn.HeaderStyle>

内容的提问来源于stack exchange,提问作者Antelito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:24:05