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

WPF C# DataGrid始终显示数据源路径,如何隐藏?

解决WPF DataGrid显示多余数据源上下文内容的问题

方案1:手动定义DataGrid列(推荐)

在XAML中明确指定要显示的列并绑定对应字段,完全控制显示内容,避免自动生成列带来的意外:

<DataGrid x:Name="tb_IP" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="IP地址" Binding="{Binding ip}" />
        <DataGridTextColumn Header="连接类型" Binding="{Binding type}" />
        <DataGridTextColumn Header="连接状态" Binding="{Binding status}" />
        <DataGridTextColumn Header="ID" Binding="{Binding id}" />
    </DataGrid.Columns>
</DataGrid>

方案2:修正自动生成列配置

如果偏好自动生成列,先确认XAML中AutoGenerateColumns="True"(默认值可省略),再通过代码清理DataTable中不需要的列:

private void fill_table_IP()
{
    // 原有的DataTable创建和填充逻辑不变...

    // 绑定前移除多余列(如果存在)
    var unwantedColumns = new List<string> { "多余列名1", "多余列名2" };
    foreach (var colName in unwantedColumns)
    {
        if (_dataTable.Columns.Contains(colName))
        {
            _dataTable.Columns.Remove(colName);
        }
    }

    tb_IP.ItemsSource = null;
    tb_IP.ItemsSource = _dataTable.DefaultView;
}

方案3:消除行对象字符串显示

如果出现System.Data.DataRowView这类内容,说明列绑定异常,除了用方案1手动定义列外,还可以设置DataGrid为只读避免编辑时的异常:

<DataGrid x:Name="tb_IP" IsReadOnly="True" />

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 05:55:20