【问题标题】:UWP TreeView sorting itemsUWP TreeView 排序项目
【发布时间】:2019-07-30 09:15:19
【问题描述】:

如何在数据绑定的 UWP TreeView 中对项目进行排序? UWP TreeView 的 ItemsSource 绑定到 View Model 中的 observable 集合。有没有办法为 TreeView 绑定到的集合创建视图,类似于 WPF?目前我没有选择如何实现此功能,而且我是 UWP 的新手。

【问题讨论】:

  • 您好,对于您的问题,您可以查看这个document,它详细描述了如何使用TreeView。您可以使用 DataTemplate 为 TreeView 创建视图。如果文档没有解决您的问题,请详细说明您遇到的问题。
  • @Richasy 之前曾多次阅读过该文档。它确实提到了关于模板化单个项目的 DataTemplates。但是,没有提及如何根据某些条件(例如,名称)对 TreeView 中的所有项目进行排序。
  • 应该对数据进行排序。由于您使用的是 DataBinding,因此请对集合进行排序。如果您感到困惑,我可以提供一个简单的排序示例作为答案。

标签: sorting data-binding uwp treeview items


【解决方案1】:

您需要对每个 TreeViewNode.Content 的子集合进行排序(TreeViewNode.Content 将是您集合的元素之一)。您还需要将每个 TreeViewItem 的 ItemSource 绑定到提供 Content 的元素的子集合;您可以使用 TreeViewItem 数据模板中的 Bind 来执行此操作)。

您使用的是 EF,也许是 EF Core?如果是这样,那么一些笔记。 EF Core 中的默认导航集合是 Hashset,因此您必须分配有序集合而不是可观察集合。此外,EF 将使用 Add 添加到子集合中,并且不一定按照您想要的顺序。因此,您需要覆盖集合中的 Add 方法以按排序顺序插入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-17
    • 2019-01-31
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多