我正在尝试在Windows 10和Windows Phone 8.1 (app link)中执行此操作:
我有一个名为FluidPanel的自定义类,它扩展了Panel并覆盖了MeasureOverride和ArrangeOverride方法。 目标是创建Google Keep appearence。好的,它工作正常。
但是,因为我使用基本面板作为ItemsPanelTemplate ,所以重新排序项目不起作用。此外,转换不起作用,也不会虚拟化。
所以,我想知道如何创建一个自定义面板,重新排序项目并虚拟化,就像GridView的ItemsWrapGrid 一样。
我试图扩展VirtualizingPanel类,但它一直向我显示这个看起来像错误的错误:
'VirtualizingPanel'不包含带0的构造函数 参数
希望有人可以给出一些指示。
答案 0 :(得分:2)
您不能从C#中的“VirtualizingPanel”继承,因为它是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
P.S:博客是关于WPF的,但基本思路是一样的。