HandyControl
HandyControl copied to clipboard
[Feature request] 希望新增 AdaptiveGridView 控件
UWP 有一个非常适合用于展示素材库的控件:
AdaptiveGridView

它比瀑布流面板更加适合浏览,瀑布流让人目不暇接,看着费眼。
AdaptiveGridView 控件应该支持(包括但不限于)这种效果:
- 每个
Item拥有相同的尺寸 - 我可以设置
Item的最小宽度 - 自适应填充
Item
详细信息见上诉链接。
这篇博客实现了这种 Panel,但我觉得的不够好。
WrapPanel with full width columns
jonstodle - gist

注意,jonstodle 实现了多种 UniformWrapPanel,我用的是 UniformMinWidthWrapPanel,这个控件对我来说存在两个问题:
- 不支持虚拟化
- 不知为什么个别
Item在Panel窄宽度时尺寸无法继续变小而发生溢出
- 还有一个问题,我在
TabControl中有多个TabItem,每个TabItem的内容都是UniformMinWidthWrapPanel,在切换 Tab 时,我发现他们的滚动条是同步的,也就是说TabItemA内的滚动条已经滚动到某个位置,切换到另一个TabItemB时,TabItemB的内容也被滚动到了TabItemA的位置。
- 虚拟化实现逻辑较复杂,需要考虑到分组;
- 可以使用 WaterfallPanel 的 AutoGroup 属性,只需确保 Item 高度一致即可。