-
Notifications
You must be signed in to change notification settings - Fork 71
Description
Approved from Toolkit
See previous work here:
- Also Related to Experiment 🧪 [Experiment] CanvasView - Template and Manipulation enabled Canvas #212
- A CanvasView Control WindowsCommunityToolkit#3716
- A CanvasView Control WindowsCommunityToolkit#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.
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
- UWP
- WinAppSDK / WinUI 3
- 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
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status