在树形网格视图中递归添加深度的方法

时间:2019-05-13 01:54:21

标签: c# wpf mvvm hierarchicaldatatemplate treegrid

所以现在我现在有一个树状网格视图,具有最多3个扩展级别,原因是我在另一个数据模板中的嵌套层次结构数据模板中手动编写了代码,我想知道是否有一种方法可以自动向其中添加深度每当我的集合深入扩展时,我的树状网格视图。我的项目来源也是嵌套的可观察集合,其中包含分支。

我正在寻找一种递归添加级别的方法,而不是手动将它们相互嵌套。

谢谢。

1 个答案:

答案 0 :(得分:0)

HierarchicalDataTemplate应该为您做到这一点。您只需在TreeView的{​​{1}}中定义一次即可。

我认为我们只需要将DataTemplate的{​​{1}}绑定到您的类的嵌套属性中,其余的工作就会得到解决。

如果我误解了你的意图,请告诉我。

这是我的尝试:

XAML

HierachicalDataTemplate

带有嵌套集合的类

ItemsSource

用于测试目的的主要形式的硬编码值

<TreeView ItemsSource="{Binding Branches}">
    <TreeView.ItemTemplate>
        <HierarchicalDataTemplate ItemsSource="{Binding Branches}">
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition></ColumnDefinition>
                    <ColumnDefinition></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <TextBox Grid.Column="0" Text="{Binding Id}"></TextBox>
                <TextBox Grid.Column="1" Text="{Binding Name}"></TextBox>
            </Grid>
        </HierarchicalDataTemplate>
    </TreeView.ItemTemplate>
</TreeView>

结果

enter image description here

相关问题