【问题标题】:Windows Explorer style view of simple hierarchical data简单分层数据的 Windows 资源管理器样式视图
【发布时间】:2016-01-22 10:12:02
【问题描述】:

我需要在 WPF 表单上显示一个简单的“列表列表”,其中对于每个父行,子行都显示在水平包装面板中 - 有人可以帮助解决所需的 XAML 吗?

例如 分层数据,例如:

class Parent { public string Key; public List<Child> Children; }
class Child { public string Name; }

所需的显示将是(K/Key,N/Name):

|K1    N1 N2 N3|
|      N4 N5   |
|K2    N1 N2   |

我对 WPF 还很陌生,我尝试过类似的方法:

<ListView Name="lv" Binding="myParentList">
    <ListView.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <TextBlock Text="{Binding Key}"/>
                <ListView ItemsSource="{Binding myParentListItems}">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <WrapPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding Name}" />
                            </WrapPanel>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
            </StackPanel>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

谢谢!

【问题讨论】:

    标签: wpf xaml


    【解决方案1】:

    尝试:

    <ListView Name="lv" Binding="myParentList">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding Key}"/>
                    <ListView ItemsSource="{Binding myParentListItems}">
                        <ListView.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel Orientation="Horizontal">
    
                                </WrapPanel>
                            </ItemsPanelTemplate>
                        </ListView.ItemsPanel>
                        <ListView.ItemTemplate>
                            <Template>
                                <TextBlock Text="{Binding Name}" />
                            <Template>
                        </ListView.ItemTemplate>
                    </ListView>
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    

    【讨论】:

    • 这太好了 - 谢谢!使用“ItemsPanel”定义效果很好。一件小事——如果你有机会,请编辑你的答案以包含一个“DataTemplate”标签来包装“”——没有这个我会出错。顺便说一句,它说我必须等待 14 小时才能获得赏金。将尽快这样做。谢谢。
    • 哦,抱歉,忘记了模板标签。
    猜你喜欢
    • 1970-01-01
    • 2011-11-20
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-07
    • 2011-10-12
    相关资源
    最近更新 更多