To meet the needs of my personal project, I further implemented VirtualizingUniformGrid and VirtualizingStackPanel, and added waterfall loading functionality to all of them.
As an amateur programming enthusiast, I developed this control to meet the needs of a virtualizing wrap layout in my personal projects. In the absence of existing solutions, I implemented this layout logic independently based on the design ideas of Avalonia's VirtualizingStackPanel (without directly referencing the WrapPanel source code). It should be emphasized:- While the control operates stably, there are inevitable gaps in performance optimization and code quality compared to implementations by professional teams.
- If your project has strict performance requirements, it is recommended to wait for the official VirtualizingWrapPanel release.
- The GetIrregularSnapPoints and GetRegularSnapPoints methods are not yet implemented.
- Maintenance and updates will be driven by the actual needs of my personal projects.
- Secondary development and optimization through forking.
- Submitting issues to report problems.
Due to limited personal time and energy, I cannot provide professional-level maintenance support, but I promise to continuously fix significant issues discovered during my own use. I hope this project can serve as a temporary solution for community developers, and I appreciate your understanding and support.
本项目为 Avalonia UI 框架开发了一款自定义虚拟化布局控件,命名为 Avalonia.SVirtualizingWrapPanel。需要说明的是,由于 Avalonia Accelerate 计划未来推出官方的 VirtualizingWrapPanel,为避免命名冲突,特此采用 "SVirtualizingWrapPanel" 作为前缀标识。 作为一名业余编程爱好者,我开发此控件的初衷是为了满足个人项目中虚拟化换行布局的需求。在未找到现有实现方案的情况下,我基于 Avalonia 的 VirtualizingStackPanel 设计思路,独立实现了这套布局逻辑(未直接参考 WrapPanel 源码)。需要特别说明:
- 该控件虽能稳定运行,但在性能优化和代码质量方面与专业团队的实现必然存在差距
- 若您的项目对性能有严格要求,建议等待官方 VirtualizingWrapPanel 的发布
- GetIrregularSnapPoints 和 GetRegularSnapPoints 方法暂未实现
- 维护更新将基于个人项目中的实际使用需求进行
- 通过 Fork 进行二次开发与优化
- 提交 Issue 反馈问题
受限于个人时间精力,我无法提供专业级的维护支持,但承诺会持续修复个人使用过程中发现的重大问题。期待这个项目能为社区开发者提供临时解决方案,也感谢您的理解与支持。
