我有一些问题要解决。
<DataGrid x:Name="gridMates" ItemsSource="{Binding Groups}">绑定组。这些小组由以下人员组成:
public class Group
{
public List<ClassMate> CLGroup { get; set; }
public string GroupName { get; set; }
}ClassMateclass:
public class ClassMate: INotifyPropertyChanged
{
public string Name { get; set; }
public string DisplayName { get; set; }}因此,我想在我的数据数据库中显示每个GroupName和DisplayName的每个ClassMate。
我看到GroupName这样做:
<DataGrid x:Name="gridMates" ItemsSource="{Binding Groups}"><DataGrid.Columns>
<DataGridTextColumn Header="GroupName" Binding="{Binding Path=GroupName}" />
<DataGridTextColumn Header="DisplayName" Binding="{Binding Path=CLGroup.DisplayName}" />但我看不出正确的DiplayName。怎么啦?
发布于 2017-03-17 13:56:09
CLGroup是一个列表,它可以有多个项目,不同的项目可以有不同的DisplayNames。CLGroup列表本身没有DisplayName。例如,要从第一项获取DisplayName,请使用CLGroup[0].DisplayName路径。
如果需要显示所有项,请将DataGridTemplateColumn与ItemsControl一起使用在CellTemplate中。
这两种办法:
<DataGrid.Columns>
<DataGridTextColumn Header="GroupName" Binding="{Binding Path=GroupName}" />
<DataGridTextColumn Header="DisplayName" Binding="{Binding Path=CLGroup[0].DisplayName}" />
<DataGridTemplateColumn Header="DisplayName">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ItemsControl ItemsSource="{Binding Path=CLGroup}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DisplayName}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>发布于 2017-03-17 13:56:12
我想你想要这样的东西
<DataGrid x:Name="gridMates" ItemsSource="{Binding Groups}"><DataGrid.Columns>
<DataGridTextColumn Header="GroupName" Binding="{Binding Path=GroupName}" />
<DataGridTemplateColumn Header="Class Mates">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<DataGrid x:Name="gridClassMates" ItemsSource="{Binding CLGroup}">
<DataGrid.Columns>
<DataGridTextColumn Header="DisplayName" Binding="{Binding Path=DisplayName}" />
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>https://stackoverflow.com/questions/42858786
复制相似问题