Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🧪 [Experiment] CanvasLayout - A virtualized canvas for ItemsRepeater #213

Open
3 of 22 tasks
michael-hawker opened this issue Jul 20, 2022 · 0 comments · Fixed by #38
Open
3 of 22 tasks

🧪 [Experiment] CanvasLayout - A virtualized canvas for ItemsRepeater #213

michael-hawker opened this issue Jul 20, 2022 · 0 comments · Fixed by #38
Labels
experiment 🧪 Used to track issues that are experiments (or their linked discussions)

Comments

@michael-hawker
Copy link
Member

Approved from Toolkit

See previous work here:

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:

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
experiment 🧪 Used to track issues that are experiments (or their linked discussions)
Projects
Status: No status
Status: No status
1 participant