|
1
1
我不认为有必要像这样深入研究WPF的螺母和螺栓。DataGrid支持虚拟化,因此除非您做了一些破坏它的事情,否则它应该只获取屏幕上实际可见的项。也就是说,在不锁定GUI线程的情况下,我永远无法让DataGrid正确地异步获取项,因此您可能需要在视图模型中自己处理这个问题。 下面是一个在我的i7上轻松管理1000万条记录的示例,我将首先对DataGrid进行模板化:
以下是主视图模型,它创建一个项数组,并仅在请求时获取每个项:
当然,这是一个非常基本的例子,只是为了证明这一点。在现实世界中,您需要建立某种缓存,并一次获取记录块。您可能还需要某种优先级预先考虑好的队列,以预测将来可能获取的记录。不管怎样,WPF都不支持数据虚拟化,所以我认为你必须做这样的事情才能得到你想要的行为。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |