You should be able to prevent the horizontal/vertical overlapping of routed connections . This way the connections should be easier to differentiate. To better differentiate connections, users might: --- use labels on the connections --- use bezier connections --- use different colors for different connections --- use more custom connectors and attach the connections to not used connectors -- use AStartRouter instead of the default one (Grid Router)
Currently large diagrams are hard to export with good quality because of the memory limitation in WritableBitmap when the DPI is increased. -- One option is to use BitMapCacheBrush (discussed here http://www.telerik.com/forums/low-resolution-using-exporttoimage-on-big-diagram) -- Another option is to export multiple images of the diagram which cover it all. Then possibly combine these pictures into one. -- Also , you can try increasing the operating memory of your Visual Studio
Implement support (or extensibility) for printing the whole diagram in a single page.
Currently the Bezier Connections Start,End Points and the two editing points are created in a common Canvas. There is no mechanism to hide the editing points but show the start and end point. Note: Currently there's a way to hide editing or intermediate points - you'll need a style and a converter. We've added a new SDK example (HideBezierHandles) demonstrating this.
ManipulationAdorner (including Rotation thumb, resizing thumbs) should not be zoomed along with the shape.
Allow the user to customize the caps (SourceCapType and TargetCapType) of the connection. Exposed are two new virtual methods in the RadDiagramConnection - CreateSourceCapGeometry and CreateTargetCapGeometry Available in Q1 2015
Inherit RadDiagramConnector and add it to a Shapes' Connectors collection. Copy / Pasting (or other serialization / deserialization action) the shape creates RadDiagramConnector, not the custom type of connector.
Expose a property to set the DiagramBehaviors.TextWrapping attached property on a diagram level
In data binding scenarios these propeties are not updated automatically. Currently if you want to bind the StartPoint and EndPoint properties of the RadDiagramConnection you will have to update new position of the connection manually. This can be done in the PropertyChanged event of the connection. In the Handler you can cast your connection to IConnection and call the Update() method, if the e.PropertyName holds the property that you change. Will be available in Q1 2015 Release.
-- Add ClearCache method to clear the undo-redo dictionaries used internally or -- make the undo-redo dictionaries auto clear when undo-redo stacks are cleared Available in LIB version: 2016.3.1114 Clear method of Diagram's UndoRedoService now clears the UndoRedo internal cache automatically. What's changed ? The public interface IDiagramContainerGeneratorInternal interface now adds ClearCache method: A) this.Diagram.UndoRedoService.Clear(); will clear the internal undoredo cache which stores model-container relations. Also this will clear the undo/redo command stacks. B) this.Diagram.ContainerGenerator as GenericContainerGenerator<RadDiagramItem>).ClearCache(); will clear ONLY the undoredo cache.
Introducing Page size (A4, etc) concenpt and vertical and horizontal rulers
Users should be able to easily customize the Pan operation of the diagram. Update: With Q1 2014 you'll be able to customize all the diagram tools
Implement functionality that notifies the user when a shape is dragged out of a container.
Implement automatic-layout of Polytree (http://en.wikipedia.org/wiki/Polytree) graphs. Layout with multiple roots in single graph component. We added an SDK sample showing how you can layout such tree hierarchies in RadDiagram: https://github.com/telerik/xaml-sdk/tree/master/Diagram/MultipleRootsInSingleTreeLayout
When you start resize operation on a grouped ContainerShape and Shape in it the Container shape size can not be shrink-ed more than the previous BottomRight position of the shape in it (despite that the shape size is changed and there is space for the collapsing). Available in LIB version: 2016.1.21
User sometimes need to use a Static Ruler which does not scale when you zoom the Diagram. Or when you pan. Just line with star 0, ticks, end 1024 for example. This line does not move and does nto scale. There is no easy way to achieve this. UpdateScale method is private. It could be protected. ==== In Q1 2014 SP DiagamRuler will draw itself and its ticks when its Diagram property is NOT set.
A stackOverflow exception is thrown when the diagram is layouted with AStarRouter, Sugiyama and connection bridges. Available in LIB version: 2015.3.1026
Currently, the content of RadDiagramShape element alignment can be changed via its HorizontalContentAlignment and VerticalContentAlignment. However, in RadDiagramTextShape, those properties don't take effect. Instead the text content is always centered.
At this point, you can achieve this requirement, by extracting the ControlTemplate of RadDiagramTextShape and bind the corresponding properties of the ContentPresenter to the parent shape. For example:
<ContentPresenter x:Name="NormalContent"
Margin="{TemplateBinding Padding}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
Extend the serialization process to save the type of the custom connectors along with their most common properties - such as their Background, BorderBrush and size.
Diagram Shapes' property is bound to property from the ViewModel. Case 1) Using GraphSource =>Shapes DataContext is automatically apllied. GraphSource is set to null or changed. Or Case 2) Not using Graphsource. Shape's DataContext is set manually (in code behind). Diagram.Clear() is invoked. Result: Binding Expression errors in Output indicate missing properties - these are bound properties of the shapes.