我有一个简单的用户控件(XAML):
<UserControl x:Class="finalProject_ClientX.queryResults"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="500" d:DesignWidth="500" Loaded="UserControl_Loaded">
<Grid Height="476" Background="#70BCE373">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="494" />
<ColumnDefinition Width="0*" />
<ColumnDefinition Width="6*" />
</Grid.ColumnDefinitions>
<DataGrid AutoGenerateColumns="true" Height="374" HorizontalAlignment="Left" Margin="27,51,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="448" SelectionChanged="dataGrid1_SelectionChanged" />
<Label Content="Query Results" Height="54" HorizontalAlignment="Stretch" Margin="27,0,19,0" Name="label1" VerticalAlignment="Top" DataContext="{Binding}" FontFamily="Tunga" FontSize="36" FontWeight="Bold" FontStyle="Normal" Opacity="1" Foreground="#FF0059B3" HorizontalContentAlignment="Center" />
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="189,441,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
</Grid>
我按照以下方法设置表格行:
public void setList<T>(List<T> list)
{
dataGrid1.ItemsSource = list;
//dataGrid1.Columns.RemoveAt(1);
dataGrid1.Columns[1].Visibility = Visibility.Collapsed;
}
该方法获取一个通用列表,并将该列表设置在数据网格中。但我得到了另一个字段,该字段未包含在类中。这个字段是“ExtensionData”。
![.](https://istack.dev59.com/vlbpZ.webp)
我尝试使用以下代码删除/隐藏此列:
dataGrid1.Columns[1].Visibility = Visibility.Collapsed;
或者
dataGrid1.Columns.RemoveAt(1);
'1' 因为它总是第一列('0' 不起作用)。 然后我收到了以下错误:
未处理的异常类型'System.ArgumentOutOfRangeException'在mscorlib.dll中发生
附加信息:索引超出范围。必须是非负数并且小于集合大小。