如何在Windows Phone 8.1 / Windows 10上创建自定义VirtualizingPanel?

我正在尝试在Windows 10和Windows Phone 8.1 (应用程序链接)中执行此操作 :

我有一个名为FluidPanel的自定义类,它扩展了Panel并覆盖了MeasureOverride和ArrangeOverride方法。 目标是创建Google Keep外观 。 好的,它工作正常。

但是,因为我使用基本Panel作为ItemsPanelTemplate ,所以Reorder项不起作用。 此外,转换不起作用,也不会虚拟化。

所以,我想知道如何创建一个自定义面板,重新排序项目和虚拟化就像GridView的ItemsWrapGrid

我试图扩展VirtualizingPanel类,但它一直向我显示这个看起来像一个bug的错误:

‘VirtualizingPanel’不包含带0参数的构造函数

希望有人可以给出一些指示。

您无法从C#中的“VirtualizingPanel”inheritance,因为它是Windows运行时类,并且没有Windows元数据(windows.winmd文件)公开的构造函数。 UI虚拟化只是一个概念,它有点复杂,但可以从头开始实现。 我认为在WPF中实现虚拟化面板的博客系列将是一个良好的开端。

第1部分: http : //blogs.msdn.com/b/dancre/archive/2006/02/06/526310.aspx

第2部分: http : //blogs.msdn.com/b/dancre/archive/2006/02/13/531550.aspx

第3部分: http : //blogs.msdn.com/b/dancre/archive/2006/02/14/532333.aspx

PS:博客是关于WPF的,但基本思路是一样的。