使用{x:Bind}的UWP TreeView HasUnrealizedChildren

问题描述 投票:0回答:1

[我在这里阅读:Microsoft Docs: TreeView,我发现属性HasUnrealizedChildren非常适合我的情况,因为我有一个非常深且非常复杂的TreeStructure。我不了解的是在数据绑定的情况下如何使用它。就我而言,我有相同的东西:

                <muxc:TreeView Name="DessertTree"
                                  SelectionMode="Multiple"
                                  ItemsSource="{x:Bind DataSource}">
                <muxc:TreeView.ItemTemplate>
                    <DataTemplate x:DataType="local:Item">
                        <muxc:TreeViewItem
                            ItemsSource="{x:Bind Children}"
                            Content="{x:Bind Name}"/>
                    </DataTemplate>
                </muxc:TreeView.ItemTemplate>
            </muxc:TreeView>

但是我不想加载所有子项,我只想按照示例中的说明进行扩展时才加载它们。但是为了显示Expand gliph,我需要为根项目设置HasUnrealizedChildren

uwp treeview uwp-xaml treeviewitem xbind
1个回答
0
投票

这是诀窍:

    <DataTemplate
        x:Key="ItemTemplate"
        x:DataType="model:MTreeViewBase"
        x:DefaultBindMode="OneWay">
        <winui:TreeViewItem  IsExpanded="False" ItemsSource="{x:Bind Visits}" HasUnrealizedChildren="{x:Bind Loaded, Converter={StaticResource NotEnumToBooleanConverter}, ConverterParameter=Loaded, Mode=OneWay}">
            <controls1:TreeViewControl Data="{x:Bind}" />
        </winui:TreeViewItem>
    </DataTemplate>

一旦加载该项目,我就使用Converter将HasUnrealizedChildren更改为false

© www.soinside.com 2019 - 2024. All rights reserved.