Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

A CanvasView Control #854

Closed
enghch opened this issue Jan 28, 2017 · 15 comments
Closed

A CanvasView Control #854

enghch opened this issue Jan 28, 2017 · 15 comments
Labels
controls 🎛️ feature request 📬 A request for new changes to improve functionality help wanted Issues identified as good community contribution opportunities

Comments

@enghch
Copy link

enghch commented Jan 28, 2017

I find myself writing this control over and over in various projects and it's never vey 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. The control should allow the placement of rectangular items in 2D, allow the user to select items, drag them around and resize them. (An optional bonus would be to allow the user to rotate the items.) The control should allow panning and zooming. The look and content of the items should, of course, be customizable.

Uservoice link: https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/17902486-a-canvasview-control

@hermitdave
Copy link
Contributor

I think @jamesmcroft created one and mentioned it in #490 maybe he can comment

@hermitdave
Copy link
Contributor

Either way we are going to open uservoice in coming days and we can let community help us prioritise ideas and requests

@enghch enghch changed the title A CnvasView Control A CanvasView Control Jan 28, 2017
@enghch
Copy link
Author

enghch commented Jan 28, 2017

Thanks! Yeah, #490 does look a lot like what I was imagining. I will go comment on that issue as well. I would love to submit this as a UserVoice request. Just so I don't forget, here are my various use cases:

  1. I want to enable my users to tag faces and other things in an image. I want to let them stretch out a rectangular selection (or multiple selections) overlaying the image.

  2. I want to create an hourly schedule control to imitate Outlook or the Calendar app. This would require selectable rectangular regions but they would not be in a stack (because multiple appointments can overlap).

  3. I would like to let users create a Digital Scrapbook by dragging, rotating and stretching images just like in Add draggable content control #490.

  4. I would like to create a visualization of an AudioGraph where each node is a selectable rectangle. The nodes can be dragged around to rearrange them.

  5. I would like to create a family pedigree chart where each person in the family is represented by a "card" control. Each person can be selected to show more information.

@Odonno
Copy link
Contributor

Odonno commented Jan 28, 2017

@enghch I suppose that all your use cases can be achieved using the Canvas control. So I think that your question is not about a new control but on all the possible ways to achieve more use cases easily using the Canvas control. Each child of the Canvas could have these attached properties :

  • Drag & Drop properties
  • Rotation properties
  • Stretching properties
  • Touch properties ? (like selection)
  • Ink properties ? (like selection or writing)

I know that's a totally different solution. I would be really happy if we can simplify the Drag & Drop.

@ScottIsAFool
Copy link
Contributor

Simplifying drag and drop, you mean like this https://metronuggets.com/2016/08/29/introducing-dropfilesbehaviour/?

@Odonno
Copy link
Contributor

Odonno commented Jan 28, 2017

@ScottIsAFool Yeah! That is one possible example.

@enghch
Copy link
Author

enghch commented Jan 29, 2017

Yeah, that's a good solution too, @ScottIsAFool and @Odonno. When you say "rotation properties" or "stretching properties" are you referring to using behaviors? If all the items in your list were easy-to-add behaviors that played together well then I think that's a great solution.

@deltakosh
Copy link
Contributor

Hey @enghch !
In order to evaluate if a feature can be added to the toolkit we created a new category on WPDEV Uservoice: https://wpdev.uservoice.com/forums/110705-universal-windows-platform?query=A%20CanvasView%20Control
image

Can you please create an entry for your idea? based on upvote we will be able to know if this is something we can add to the toolkit!
Thank you very much

@enghch
Copy link
Author

enghch commented Jan 31, 2017

OK, thanks! I've got it recorded here: https://wpdev.uservoice.com/forums/110705-universal-windows-platform/suggestions/17902486-a-canvasview-control

We can close this issue now if you'd like.

@deltakosh
Copy link
Contributor

I'll keep it open. Please start socializing it :)

@enghch
Copy link
Author

enghch commented Jan 31, 2017

Thanks! Tweets are on the way! :)

@gbarcho
Copy link
Contributor

gbarcho commented Jun 28, 2018

Whats the status? Can we archive/close it?

@michael-hawker
Copy link
Member

Not sure about all the interactive elements, but agree just a general helper to utilize Canvas for layout of items would be useful. Going to add to 6.0 for now to think about more later. I've done some initial testing with doing this with ItemsControl and using a Style setter binding helper.

@michael-hawker michael-hawker added this to the 6.0 milestone Apr 11, 2019
@michael-hawker michael-hawker modified the milestones: 6.0, 6.1 Oct 24, 2019
@michael-hawker michael-hawker removed this from the 6.1 milestone Apr 2, 2020
@michael-hawker michael-hawker added the help wanted Issues identified as good community contribution opportunities label Apr 2, 2020
@michael-hawker
Copy link
Member

Moving out of 6.1, think this needs a bit more clearer definition if it's just an ItemsControl using Canvas to help layout items or something more detailed...

@Kyaa-dost Kyaa-dost added feature request 📬 A request for new changes to improve functionality and removed feature 💡 labels Jun 24, 2020
@Kyaa-dost
Copy link
Contributor

Will be moving this to the discussion as that will our new platform for all the older discussions that still requires clarity and further input.

@CommunityToolkit CommunityToolkit locked and limited conversation to collaborators Feb 2, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
controls 🎛️ feature request 📬 A request for new changes to improve functionality help wanted Issues identified as good community contribution opportunities
Projects
None yet
Development

No branches or pull requests

8 participants