C# 为什么';它是否显示了我在DataTable中分配的DataGrid中的值?

C# 为什么';它是否显示了我在DataTable中分配的DataGrid中的值?,c#,xaml,datagrid,C#,Xaml,Datagrid,我最初在DataGrid中手动编写头,现在我想从DataTable填充DataGrid。我想这样做: void fillingDataGrid() { DataTable dt = new DataTable(); DataColumn id = new DataColumn("id", typeof(int)); DataColumn name = new DataColumn("name", ty

我最初在DataGrid中手动编写头,现在我想从DataTable填充DataGrid。我想这样做:

void fillingDataGrid()
    {
        DataTable dt = new DataTable();
        DataColumn id = new DataColumn("id", typeof(int));
        DataColumn name = new DataColumn("name", typeof(string));
        DataColumn ort = new DataColumn("ort", typeof(string));
        DataColumn alter = new DataColumn("alter", typeof(string));
        DataColumn land = new DataColumn("land", typeof(string));

        dt.Columns.Add(id);
        dt.Columns.Add(name);
        dt.Columns.Add(ort);
        dt.Columns.Add(alter);
        dt.Columns.Add(land);

        DataRow firstrow = dt.NewRow();
        firstrow[0] = 1;
        firstrow[1] = "Peter";
        firstrow[2] = "Berlin";
        firstrow[3] = "18";
        firstrow[4] = "Germany";

        DataRow secondrow = dt.NewRow();
        firstrow[0] = 2;
        firstrow[1] = "Karl";
        firstrow[2] = "Prag";
        firstrow[3] = "12";
        firstrow[4] = "Tschechien";

        dt.Rows.Add(firstrow);
        dt.Rows.Add(secondrow);

        gridd.ItemsSource = dt.DefaultView;
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        this.fillingDataGrid();
    }
但是,问题是,如果我这样做,它将无法正确输出,因为它看起来如下所示:

void fillingDataGrid()
    {
        DataTable dt = new DataTable();
        DataColumn id = new DataColumn("id", typeof(int));
        DataColumn name = new DataColumn("name", typeof(string));
        DataColumn ort = new DataColumn("ort", typeof(string));
        DataColumn alter = new DataColumn("alter", typeof(string));
        DataColumn land = new DataColumn("land", typeof(string));

        dt.Columns.Add(id);
        dt.Columns.Add(name);
        dt.Columns.Add(ort);
        dt.Columns.Add(alter);
        dt.Columns.Add(land);

        DataRow firstrow = dt.NewRow();
        firstrow[0] = 1;
        firstrow[1] = "Peter";
        firstrow[2] = "Berlin";
        firstrow[3] = "18";
        firstrow[4] = "Germany";

        DataRow secondrow = dt.NewRow();
        firstrow[0] = 2;
        firstrow[1] = "Karl";
        firstrow[2] = "Prag";
        firstrow[3] = "12";
        firstrow[4] = "Tschechien";

        dt.Rows.Add(firstrow);
        dt.Rows.Add(secondrow);

        gridd.ItemsSource = dt.DefaultView;
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        this.fillingDataGrid();
    }

为什么它不显示所有数据,我需要在数据表上更改什么?

更改此行:

gridd.ItemsSource=dt.DefaultView

致:


gridd.DataContext=dt.DefaultView

那我就什么都没花了什么是
grid
?事件处理是否正确连接?请参阅。我的datagrid的名称我给它命名为gridd