使用具有 2^31 个以上元素的虚拟化集合进行 UI 虚拟化



我们有一个处理序列化索引数据的自定义数据库,我们已经达到了数据库容量的 70%(这是 int.最大值或 2^31 个元素(。我们开始分析是否有可能通过制作我们自己的集合来实现这个限制,该集合可以处理无限数量的元素(当然受计算机内存的限制(。

目前,我们尽可能多地委托给 WPF 来处理 UI 虚拟化,并且我们只通过实现 IList 从我们这边处理数据虚拟化。但是,IList.Count 属性根据其类型(整数(限制为 2^31。这意味着这是我们的主要限制。

我们考虑过为迭代制作自己的界面,但因此我们将失去与IList界面密切相关的DataGrid的UI虚拟化。

即使我(或多或少(能够制作我们自己的用户控件,我想知道是否还没有为 WPF 做过这样的事情。我假设我们不是第一个想要为其用户提供如此多数据的人。

当涉及到处理数据库中的大量记录时,Virtualise data会更容易,而不是创建自定义列表和控件来容纳数据库中的 2^31 个项目。
我认为您的数据库已准备好处理该数量的数据,并且当您达到9,223,372,036,854,775,807行时,它本身将存活下来,这是 MSDNInt64.MaxValue

最新更新