如何正确地将行添加到WPF中的数据网格?

时间:2020-10-13 15:02:59

标签: c# wpf datagrid

我有这个DataGrid

enter image description here

代码:

        <DataGrid Name="DatabaseView1" Grid.Row="1">
            <DataGrid.Columns>
                <DataGridTextColumn Header="First name" Binding="{Binding Path=FirstName}"/>
                <DataGridTextColumn Header="Last name" Binding="{Binding Path=LastName}"/>
                <DataGridTextColumn Header="Age" Binding="{Binding Path=Age}"/>
            </DataGrid.Columns>
        </DataGrid>

此数据网格一个接一个地包含几个条目。我将条目收集在一个列表中:

        public static List<Entry> Entries = new List<Entry>();
        public class Entry
        {
            public string FirstName { get; set; }
            public string Lastname { get; set; }
            public int Age { get; set; }
        }

我添加这样的新条目:

Entries.Add(new Entry {FirstName = "Christiano", LastName = "Ronaldo", Age = "35"});

我将这样的条目添加到DataGrid

DatabaseView1.ItemsSource = Entries;

这是我的结果:

enter image description here

您看到已创建两个条目。有人知道为什么会这样吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

正在生成双列,因为您没有告诉DataGrid停止自动为分配的ItemSource生成列。因此,要禁用AutoGenerateColumns,只需在xaml DataGrid中设置AutoGenerateColumns = False

<DataGrid Name="DatabaseView1" Grid.Row="1" AutoGenerateColumns = "False">
相关问题