【问题标题】:WPF directional navigation in ListView with data virtualisation具有数据虚拟化的 ListView 中的 WPF 定向导航
【发布时间】:2014-05-27 20:38:48
【问题描述】:

我已经根据this article 在 WPF 中使用 ListBox 实现了数据和 UI 虚拟化。简而言之,我将 ListView 绑定到一个集合,该集合会在需要时一次自动加载页面数据。如果 ListView 请求页面上尚未加载的项目,则集合将返回 null,异步加载页面,然后发出 Reset NotifyCollectionChanged 事件,以便 ListView 将获取实际值。

当我尝试使用方向键浏览列表时,这可以正常工作,直到我点击 ListView 第一次获得焦点时未加载的项目。此时,ListView 本身成为焦点。如果我确保通过滚动列表开始加载所有数据(从而强制显示所有项目并因此加载),则定向导航正常工作。

看起来 ListView 以某种方式记住了最初为 null 的数据并拒绝将焦点移到这些项目上。这里发生了什么?我该如何解决这个问题?

【问题讨论】:

    标签: c# wpf ui-virtualization data-virtualization


    【解决方案1】:

    原来在重置集合时焦点丢失了。为了避免这种情况,我提出了替换通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多