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
相关产品推荐
相关产品推荐

