3

我有一个 WPF DataGrid,它必须是List<Person> people.

public class Person
{
    public string Name{get;set;}
    public string LastName{get;set;}
    public string Address{get;set;}
    public int Age{get;set;}
}

public void ShowPeople()
{
     myDataGrid.ItemsSource = people;
}

它显示一切正常,但我想显示AddressTextBox.DataGrid

我将 XAML 代码更改为:

   <DataGrid x:Name="myDataGrid">
        <DataGridTemplateColumn Header="Address">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Path=Address}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid>

这是行不通的。它给了我一个错误。

在使用 ItemsSource 之前,项目集合必须为空。

请帮忙。谢谢,

4

1 回答 1

7

Columns您在 XAML中缺少该属性:

<DataGrid x:Name="myDataGrid">
    <DataGrid.Columns> <-- This is missing in your code!
        <DataGridTemplateColumn Header="Address">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                    <TextBox Text="{Binding Path=Address}"/>
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
    </DataGrid.Columns>
</DataGrid>
于 2013-03-22T20:09:25.633 回答