为什么DataGrid不会在行中显示数据

时间:2019-05-02 10:30:54

标签: c# wpf datagrid

尽管我添加了数据,但我的datagrid并没有在行中显示数据。 汽车是汽车ID的列表。

 DataGridTextColumn col1 = new DataGridTextColumn();
 myDataGrid.Columns.Add(col1);
 col1.Binding = new Binding("id");
 col1.Header = "ID";
 foreach (Car carr in car)
 {
     myDataGrid.Items.Add(carr.ToString());
 }

我的xaml文件

<DataGrid x:Name="myDataGrid" 
          HorizontalAlignment="Left" 
          Height="300" 
          Width="600"
          VerticalAlignment="Top" 
          IsReadOnly="True" 
          RenderTransformOrigin="0.52,0.47" 
          Margin="100,82,0,0" 
          FontSize="15" />

1 个答案:

答案 0 :(得分:0)

设置DataGrid的ItemSource属性:

    myDataGrid.ItemSource = car;

请参见https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.datagrid?view=netframework-4.8

了解更多信息。

OR 您可以将xaml用于自定义列:

    <DataGrid x:Name="CARS" ItemsSource="{Binding Path=Car}" IsReadOnly="True" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="ID" Binding="{Binding Path=IdPropertyOfCarObject}"></DataGridTextColumn>
        </DataGrid.Columns>
    </DataGrid>

然后在后面的代码中,将数据上下文设置为具有汽车对象列表的类。