【问题标题】:Need a sample for WPF TreeView search with Virtualization and Load On Demand需要一个带有虚拟化和按需加载的 WPF TreeView 搜索示例
【发布时间】:2010-09-15 07:40:28
【问题描述】:

我需要在 WPF TreeView 中实现搜索功能(基本上我需要记住最后一次用户选择)。我尝试了各种建议的方法,但没有任何效果,因为在我的TreeView 中启用了virtualization,并且仅在扩展父节点时才加载子节点(延迟加载)。

有谁知道同时实现这三件事(虚拟化、按需加载和搜索)的示例?

【问题讨论】:

    标签: wpf search treeview lazy-loading virtualization


    【解决方案1】:

    查看this MSDN 论坛帖子,来自 MS 的 Bob 解释了实现此功能的问题。

    原因是 VirtualizingStackPanel尝试生成 用于显示的项目,但它有一个 生成器已经在您的项目中 生成展开的项目(在 OnTreeNodeExpanded 事件处理程序)。它 与两个生成器发生冲突。 VirtualizingStackPanel可以生成 运行时所需的项目,它也 在BringIndexIntoView 中生成它们 方法。 StartAt 方法的代码 是检查发电机,如果不是 null,抛出异常“无法调用 StartAt 内容生成时 进度”。因此,样本填充 绑定源中的所有项目 InitializeComponent(),然后让 BringIndexIntoView 生成方法 项目的容器。

    该线程中还附有重现该问题的示例。

    所以目前这种方法似乎没有解决方案:(

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-03
      • 2017-08-12
      • 2016-09-20
      相关资源
      最近更新 更多