C# WPF Datagrid两次显示列

C# WPF Datagrid两次显示列,c#,wpf,linq,datagrid,C#,Wpf,Linq,Datagrid,通过将数据绑定到数据库列,我已经成功地在datagrid中显示了数据,但问题是,所有数据列在完全显示后出现了两次,即(id、user\u id、status、id、user\u id、status等)。如何摆脱这种情况,这是我的代码 <DataGrid x:Name="Grid_display" Grid.ColumnSpan="3" Margin="63,51,36,10" Grid.RowSpan="2"> <DataGrid.Columns

通过将数据绑定到数据库列,我已经成功地在datagrid中显示了数据,但问题是,所有数据列在完全显示后出现了两次,即(id、user\u id、status、id、user\u id、status等)。如何摆脱这种情况,这是我的代码

<DataGrid x:Name="Grid_display" Grid.ColumnSpan="3" Margin="63,51,36,10" Grid.RowSpan="2">
                <DataGrid.Columns>
                    <DataGridTextColumn Header="ID" Binding="{Binding Path=id}"/>
                    <DataGridTextColumn Header="Publisher ID" Binding="{Binding Path=user_id}"/>
                    <DataGridTextColumn Header="Publication Title" Binding="{Binding Path=title}"/>
                    <DataGridTextColumn Header="Published Date of Document" Binding="{Binding Path=published_date}"/>
                    <DataGridTextColumn Header="File" Binding="{Binding Path=file}"/>
                    <DataGridTextColumn Header="Status" Binding="{Binding Path=status}"/>

                </DataGrid.Columns>
            </DataGrid>

 private void display_btn_Click(object sender, RoutedEventArgs e)
        {
            List<publication> q = (from p in db.publications where p.user_id == get_id select p).ToList();
            Grid_display.ItemsSource = q;

        }

私有无效显示\u btn\u单击(对象发送方,路由目标)
{
列表q=(来自db.publications中的p,其中p.user_id==get_id选择p);
Grid_display.ItemsSource=q;
}

您必须在数据网格上设置
AutoGenerateColumns=“False”
。默认情况下,它为true,并且正在添加另一组列

<DataGrid x:Name="Grid_display" Grid.ColumnSpan="3" AutoGenerateColumns="False" 
          Margin="63,51,36,10" Grid.RowSpan="2"/>

ya这应该是答案:)