【问题标题】:Silverlight 4 DataGrid How to make nested datagrid data display horizontally and not verticallySilverlight 4 DataGrid 如何使嵌套的数据网格数据水平而不是垂直显示
【发布时间】:2011-07-20 20:35:06
【问题描述】:

我有一个对象集合,其中包含一个嵌套的对象集合。如果可能的话,我希望我的数据网格中的嵌套集合水平显示在嵌套的数据网格中。这是我的课程:

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 并将数据网格嵌套到那个集合,但那些不需要是水平的,只是这个。任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: silverlight datagrid


    【解决方案1】:

    RowDetailsTemplate 可能在这里工作:

    <DataGrid>
        <DataGrid.RowDetailsTemplate>
            <DataTemplate>
                <xzy />
            </DataTemplate>
        </DataGrid.RowDetailsTemplate>
    </DataGrid>
    

    &lt;xyz /&gt; 将是您水平显示类型的部分。根据您的需要,您可以制作一个 UserControl(创建一个 public IEnumerable&lt;Type&gt; Types { get; set; },将您的 Types 成员绑定到它并在那里实现显示逻辑)、一个 StackPanel 或一个简单的 TextBlock,您可以在其中连接您的类型名称。

    【讨论】:

    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多