Our company developer team is trying your product and we are wondering if its possible to set the Width and Height of the Diagram, we tried all the examples in the documentation from viewport to set a container in the center of the diagram and use it as a diagram, we used services, dragging area restrictions but non of then are working as expected.
Our main goal is the following:
We have a grid with 2 Rows (1 for buttons/ the other one for the diagram), out clients need to be able to set the area of the diagram that in the future will export the elements that are inside it.
We tried to set the height and witdth of the diagram and also the size of the viewport,however, the result is just a smaller view of the diagram but not a real smaller page.
Would you be able to help us?
As commented before we tried to implement the examples from Github, forum and documentation without success.
We will wait for your answer, thanks.
5 Answers, 1 is accepted
I am not sure that I completely understand your requirement. My guess is that you want to select part of the view port and export it. To achieve this you can get the elements that you want to export, get also their viewport and add them in a new diagram. Then export the new diagram. I prepared a small example demonstrated such approach. Can you take a look at it and let me know if this is what you are looking for?
Telerik by Progress
Sorry if i was not clear in my first message.
What we are trying to accomplish is the following scenario:
- When you use Adobe Photoshop, Illustrator or any other similar Software, when you create a new project you choose the document/page size (Height and Width) and after that you have a dark background and a white page
with the size you selected, all the elements you add will be limited inside the bounds of the page.
- So far , we have try to limit the size of the diagram, however this only limits the actual size of the diagram (element) not the viewport.
- We found a couple of properties (diagram.Viewport.X, diagram.Viewport.Y) and (diagram.Viewport.Width, diagram.Viewport.Height), unfortunately Viewport is in read-only mode we are unable to set those properties.
- We tried almost all of the diagram examples that you have in Github and also read all the documentation and we couldnt find anything that works for us.
- We tried to limit the drag-bounds (you have an example in the documentation) but it does not work as expected and we would like to have a simpler solution (set document page size).
- When we talk about export the diagram we are not talking about export it as an image, we are going to send that diagram to another program and it has to know the size of the document and the elements inside it
(sorry,i didnt explain it correctly).
I hope you can understand now what we are trying to do.
Thank you so much for your help!.
Thank you for the additional information. So, If I understand correctly you want to create the diagram surface with a specific size (lets say 800x600) and restrict the panning, zooming and dragging in the initial view port. Am I correct? If so, perhaps you can create a dummy shape with white background, which you can use as a canvas. And then restrict the dragging inside this shape. This way when you zoom in and out, or when you pan, the diagram will behave as expected. About setting the viewport of the diagram, you can use the BringIntoView() method. I updated my project to demonstrate this. I hope it helps.
Telerik by Progress
great solution. One question: The Canvas object in c# is set with
Rect CanvasBounds =
Rect(0 , 0, 801, 601)
Is it possible to set size of the canvas object to "mm" or "cm"?
WPF Framework does not support specifying size (Width, Height, Size, etc.) properties in mm or cm. We encourage you to use some kind of converting functions (cm to px and vice versa) in code. Such can be found in forums, wikipedia, stackoverflow.