我有一组具有嵌套对象集合的对象。我希望我的数据网格中的嵌套集合能够水平显示嵌套数据网格内部,如果可能的话。这是我的课程:
public class Details
{
public string Customer {get;set;}
public List<Type> Types { get; set;}
}
public class Type
{
public string typeId{get;set;}
}
当然它们实际上是ObservableCollections,我实现了INotifyPropertyChange,但这只是我的类的快速骨架,以获得主要观点。
如果我能像这样显示它会很好:
Details Customer
Types[0] typeId Types[1] typeId .... Types[n] typeId
我希望这是有道理的。基本上我想要的类型水平显示id。那么我怎样才能将Types集合显示为列而不是行?我本质上想要将另一个集合添加到Type并将数据网格嵌套到那个集合中,但这些集合不必是水平的,只是这个。任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:0)
RowDetailsTemplate可能在这里工作:
<DataGrid>
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<xzy />
</DataTemplate>
</DataGrid.RowDetailsTemplate>
</DataGrid>
<xyz />
将是您水平显示类型的部分。根据您的需要,您可以创建UserControl(创建public IEnumerable<Type> Types { get; set; }
,将Types
成员绑定到它并在那里实现显示逻辑),StackPanel或简单的TextBlock,您可以在其中连接您的类型 - 名。