我有一个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;
}
它显示一切正常,但我想在Address
内的TextBox
中显示DataGrid
。
我将XAML代码更改为:
<DataGrid x:Name="myDataGrid">
<DataGridTemplateColumn Header="Address">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=Address}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid>
这不起作用。它给了我一个错误。
在使用ItemsSource之前,项目集合必须为空。
请帮忙。 谢谢,
答案 0 :(得分:5)
您缺少XAML中的Columns
属性:
<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>