C# 如何在DataGrid WPF中添加行

C# 如何在DataGrid WPF中添加行,c#,wpf,C#,Wpf,我不明白如何将内容从数据库写入DataGrid。 这是密码 代码数据网格 <DataGrid AutoGenerateColumns="False" x:Name="ColorsTable" HorizontalGridLinesBrush="DarkGray" RowBackground="LightGray" AlternatingRowBackground="White" Grid.ColumnSpan=

我不明白如何将内容从数据库写入DataGrid。 这是密码 代码数据网格

<DataGrid AutoGenerateColumns="False" x:Name="ColorsTable" HorizontalGridLinesBrush="DarkGray"
                                        RowBackground="LightGray" AlternatingRowBackground="White" Grid.ColumnSpan="2" Margin="0,0,624.2,0">
                                <DataGrid.Columns>
                                    <DataGridTextColumn Header="ID" Binding="{Binding Path = Id}" Width="100" />
                                    <DataGridTextColumn Header="Name" Binding="{Binding Path = Name}" Width="100" />
                                    <DataGridTextColumn Header="Specification" Binding="{Binding Path = Specification}" Width="100" />
                                </DataGrid.Columns>
                            </DataGrid>

您可以像这样将
数据网格
绑定到
可观察集合

<DataGrid ItemsSource="{Binding temp}">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Id}"/>
            <DataGridTextColumn Binding="{Binding Name}"/>
            <DataGridTextColumn Binding="{Binding Specification}"/>
        </DataGrid.Columns>
    </DataGrid>

只有在正确设置了
DataContext
的情况下,这才有效。
如果要在WPF中使用绑定,还应查看如何实现
INotifyPropertyChanged

尝试删除临时清除();并检查
temp.Clear()ItemSource
,分配后是否清除该列表?不要清除列表。另外,您可以执行此操作,而不是
Binding=“{Binding Path=Id}”
。另一件事是在读取数据时始终检查
Null
。谢谢您,问题是temp.clear()
public class Colors: SomeAbstact
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Specification { get; set; }
}
<DataGrid ItemsSource="{Binding temp}">
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Id}"/>
            <DataGridTextColumn Binding="{Binding Name}"/>
            <DataGridTextColumn Binding="{Binding Specification}"/>
        </DataGrid.Columns>
    </DataGrid>