【问题标题】:UWP TreeView HasUnrealizedChildren when using {x:Bind}使用 {x:Bind} 时的 UWP TreeView HasUnrealizedChildren
【发布时间】:2020-05-16 14:40:40
【问题描述】:

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

    这是诀窍:

        <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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 2018-04-30
      • 2020-10-25
      • 2016-03-05
      • 2020-08-05
      • 1970-01-01
      • 2018-09-02
      相关资源
      最近更新 更多