HandyOrg / HandyOrg/HandyControl

[Feature request] 希望新增 AdaptiveGridView 控件

Open
#1,129 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
7.2k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

UWP 有一个非常适合用于展示素材库的控件:
AdaptiveGridView
adaptivegridview

它比瀑布流面板更加适合浏览,瀑布流让人目不暇接,看着费眼。

AdaptiveGridView 控件应该支持(包括但不限于)这种效果:

  1. 每个 Item 拥有相同的尺寸
  2. 我可以设置 Item 的最小宽度
  3. 自适应填充 Item

详细信息见上诉链接。

这篇博客实现了这种 Panel,但我觉得的不够好。
WrapPanel with full width columns
jonstodle - gist
uniform-width-adaptive

注意,jonstodle 实现了多种 UniformWrapPanel,我用的是 UniformMinWidthWrapPanel,这个控件对我来说存在两个问题:

  1. 不支持虚拟化
  2. 不知为什么个别 ItemPanel 窄宽度时尺寸无法继续变小而发生溢出
  1. 还有一个问题,我在 TabControl 中有多个 TabItem,每个 TabItem 的内容都是 UniformMinWidthWrapPanel,在切换 Tab 时,我发现他们的滚动条是同步的,也就是说 TabItemA 内的滚动条已经滚动到某个位置,切换到另一个 TabItemB 时, TabItemB 的内容也被滚动到了 TabItemA 的位置。

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the linked UWP AdaptiveGridView documentation and the referenced UniformMinWidthWrapPanel implementation. Define how equal item sizing, configurable minimum width, adaptive filling, virtualization, narrow-panel overflow, and independent TabControl scrolling should behave; the feature is done when those requirements are supported by the new WPF control.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.