问题标签 [ui-virtualization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2054 浏览

c# - 如何在 VS2010 的 ListView 上测试或使用 DisconnectedItem?

我正在尝试从附加属性更改 ListViewItem 的背景。以下代码一直有效,直到 ListViewItem 滚动出显示的 ListView。错误是计时器在已断开连接的 ListViewItem 上触发。

{System.Windows.Controls.ListViewItem: {DisconnectedItem}} System.Windows.Controls.ListViewItem

如何在 Visual Studio 2010 中测试断开连接的项目?

TIA

0 投票
1 回答
3045 浏览

c# - WPF DataGrid:IsVirtualizingWhenGrouping="True" 不起作用

我有一个 DataGrid,它有一个 CollectionViewSource 绑定到它的 ItemSource 属性:

bookingsViewSource定义为

并填写后面部分的代码。在没有分组的情况下,一切都做得很好。但是当我添加分组时<PropertyGroupDescription PropertyName="providerID"/>,DataGrid 需要大约一分钟才能加载。

在 .NET 4.5 中有一个名为的新属性VirtualizingPanel.IsVirtualizingWhenGrouping,我已经将其设置为 true,但加载时间并没有减少。

我不知道为什么。有任何想法吗?

0 投票
1 回答
2027 浏览

c# - 包装面板中包含数千张图像的列表框

我正在尝试创建一个列表框,该列表框可能包含像设计一样的网格中的一千多个图像。在设计方面,它与此非常相似:

http://i.stack.imgur.com/7URQD.jpg

由于我不能使用 wrappanel,因为它会破坏 UI 虚拟化,并且 stackpanel 不能在这样的网格中列出图像(?),我正在尝试使用https://virtualwrappanel.codeplex的修改版本来解决这个问题.com

我的 XAML:

虽然这种方法有效,但它仍然非常缓慢且有问题,尤其是在对图像宽度使用绑定时。有没有更好的方法来归档相同的结果?最好没有定制包装板。

0 投票
0 回答
65 浏览

wpf - EnableColumnVirtualization=true 更改 selectedItem

根据我设置的msdn建议

但我认识到,如果我将 EnableColumnVirtualization 设置为 true,当我滚动到水平时,它会导致所选项目被更改并触发它。触发选定项目时,我是 2 个使用 MvvmLight.Messaging 相互更新的面板。并且水平滚动变得痛苦,而每次我滚动时,它都会触发选定项更改并弹出如下错误消息。

当我将虚拟化设置为 false 时,一切都很顺利。所以我想知道,是不是这种情况,我不能使用虚拟化,或者是否有解决方法?

0 投票
0 回答
470 浏览

c# - 数据网格虚拟化影响项目的选择

我有一个显示大量数据的数据网格,所以我打开了虚拟化。在我的网格上,我还有一个复选框列,它在我的视图模型的 IsSelected 属性上双向绑定。当我尝试全选时,所有项目都被选中。当我选择一行时,该行是可见区域中唯一选择的行。但是当我向下滚动时,其他项目仍然被选中。所需的行为应该是选定的行应该是网格上唯一的选定项。我认为虚拟化无法处理这种情况。我该如何解决这个问题?

这是我的代码:

看法

模型

视图模型

0 投票
1 回答
659 浏览

c# - 访问ListView UWP Windows 10中每个ListViewItem的DataTemplate中的RelativePanel

我想在其 DataTemplate 中的每个 ListViewItem 中访问和更改 RelativePanel 的 FlowDirection。我试过这个确切的方法,有同样的错误:如何访问 XAML DataTemplate 中的控件?我也尝试了给出的解决方案,但我有

始终返回 null,即使 myitem不为 null。我尝试将 UpdateLayout() 放在它之前,但徒劳无功。我试着放置等待

绕来绕去,也是徒劳的,总是返回null。这是我的代码:

我还没有找到任何解决方案?

0 投票
1 回答
1777 浏览

c# - 为什么我的 WPF ListView/GridView 没有虚拟化?

我的列表视图/网格视图有性能问题。

我将其追溯到未虚拟化的视图。我删除了所有业务关键代码,并留下了以下 XAML。

当我查看可视化调试器时,我看到了这个

调试器屏幕截图

ListViewItem实例继续获取完整的数据列表,即大约 800 个点。

当我打开任何 ListViewItem 对象时,我看到它们已完全填充,如下所示

在此处输入图像描述

据我了解,文档说 ListBox 和 ListView 默认启用虚拟化。这个对吗?

有什么建议么?

编辑:这是完整视觉树的截图: 在此处输入图像描述

0 投票
0 回答
1921 浏览

wpf - 画布中的 WPF UI 虚拟化

在我的应用程序中,我有很多项目的大画布。它是矩形和自定义用户控件的混合体。这些项目在代码隐藏中动态添加,UI 看起来有点像这样:

画布的简化 UI

当我加载超过 100 个项目时,它开始运行缓慢,感觉 UI 虚拟化是这里的方法。

我阅读了这篇博文中提到的 Virtual Canvas ,并正在考虑尝试一下。但由于这是 8 年前写的,我不确定这是否是正确的方法,或者是否有人知道更好的解决方案。我应该使用画布以外的东西吗?

0 投票
0 回答
243 浏览

javascript - Aurelia UI 虚拟化与弹性框 div(五列)

我有一个 Aurelia 应用程序,我想在仪表板应用程序的一部分中进行无限滚动。所以,我的滚动区域只在屏幕的一部分。我让它滚动,但滚动每三到四行就会生涩,我试图弄清楚如何调整 ui 虚拟化插件或我使用它来避免生涩的滚动。

我试过让容器越来越小。我没有试过把它做成一张桌子。我正在为无限滚动中的项目使用 flex-box,我有五个项目,而不是像演示应用程序那样的一个项目,在可重复的 div 中跨列,如下所示:

0 投票
1 回答
331 浏览

aurelia - Aurelia UI 虚拟化 - 重新绑定

我正在使用酷炫的 Aurelia UI-Virtualization 插件 ( https://github.com/aurelia/ui-virtualization ) 为用户提供搜索结果列表。

如果他们进行新搜索,我想用新结果替换当前结果。我认为您只需要将数组设置为新结果,但这会产生一些奇怪的行为,有点像列表“记住”它的旧内容。

就我而言,当您单击其中一个搜索结果时,一个单独的面板会显示有关该搜索结果的详细信息。但是重新绑定后,它仍然显示有关旧结果的信息。

谢谢!

亚伦