使用 {x:Bind} 时 UWP TreeView HasUnrealizedChildren

UWP TreeView HasUnrealizedChildren when using {x:Bind}

我在这里阅读: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>

但我不想加载所有子项,我只想在展开时加载它们,如示例中所述。但是为了显示展开字形,我需要为根项目设置 HasUnrealizedChildren

技巧如下:

    <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>

项目加载后,我使用转换器将 HasUnrealizedChildren 更改为 false