CommunityToolkit / CommunityToolkit/Labs-Windows
🧪 [Experiment] CanvasLayout - A virtualized canvas for ItemsRepeater
- Dominant language
- C#
- Stars
- 482
- Forks
- 89
- PR merge metrics
- No merged PRs in 30d
Description
# Approved from Toolkit
See previous work here:
- Also Related to Experiment #212
- https://github.com/CommunityToolkit/WindowsCommunityToolkit/discussions/3716
- https://github.com/CommunityToolkit/WindowsCommunityToolkit/issues/854
## Problem Statement (copied from Discussion):
> I find myself writing this control over and over in various projects and it's never very good. I'd love a control that would be a sibling to ListView or GridView only it was backed by a 2D Canvas instead of an ItemsStackPanel.
## Overview
This experiment adds the following components:
- **CanvasLayout** an __experimental__ early prototype layout for `ItemsRepeater` to provide a virtualized canvas.
## Using
You can try it out via the NuGet Packages here:
- UWP: https://dev.azure.com/dotnet/CommunityToolkit/_artifacts/feed/CommunityToolkit-Labs/NuGet/CommunityToolkit.Labs.Uwp.CanvasLayout
- WinUI 3: https://dev.azure.com/dotnet/CommunityToolkit/_artifacts/feed/CommunityToolkit-Labs/NuGet/CommunityToolkit.Labs.WinUI.CanvasLayout
Read more about [Preview Packages here](https://aka.ms/wct/wiki/previewpackages).
CommunityToolkit members can also try it out with Codespaces.
## TO DO
- [ ] Verify pattern for ItemsRepeater is properly implemented
- [ ] Investigate issues with scrolling
- [ ] Investigate platform differences
## Implementation Requirements
Not all these items are required to submit a PR. This list is here to help track what is remaining to implement before a technical review and discussion of moving into the main repository can occur.
- [ ] Working Prototype
- [ ] Feature Complete
- [ ] Documentation
- [ ] Samples
- [ ] Tests
- [ ] Community Feedback / Usage Testimonies
## Tested Platforms
- [x] UWP
- [x] WinAppSDK / WinUI 3
- [x] Web Assembly (WASM)
- [ ] Android
- [ ] iOS
- [ ] MacOS
- [ ] Linux / GTK
## Technical Review
These items can sometimes be done ahead of time, but are usually started and completed after all implementation details are finished.
- [ ] Accessibility Audit
- [ ] API/Naming Review
- [ ] Code Quality/Style
- [ ] Dependency Review
- [ ] Design/Style Review
- [ ] Final Approval
Contributor guide
Assessment
This issue has not been assessed yet.