Ability to export a diagram to PDF.
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 erors in Output indicate missing properties - these are bound properties of the shapes.
Should be able to override the AbsolutePosition and the Offset of the connector. Should be able to specify absolute position manually, not only relative. Should be able to provide template for its visual representation. Fixed in LIB version: 2014.2.0914
This is reproducible only if you set the RotationOrigin property to a value different than (0.5,0.5). Also, the rotation angle is wrong only on the first call of the Rotate() method of the service. To work this around you can create a custom RotationService and override its CalculateRotationAngle() method where you can calculate custom angle. http://docs.telerik.com/devtools/wpf/controls/raddiagram/features/services https://github.com/telerik/xaml-sdk/tree/master/Diagram/CustomServices
Connection Bridges Greatly Degrade Performance. Iven if there are no crossings, performance is very slow. In some scenarios empty spaces on the connections are observed even if there are no crossings. The fix will be available with Q1 2015 Release.
Users need to create custom mouse tools and set them as ActiveTool of the RadDiagram.
Select some color from settings pane for some shape. In order to use the same color for other shape you need to deselect this color on your own (by selecting other color) and then select it again. Available in LIB version: 2014.3.1117
In some cases when there are no crossings, empty spaces can be observed on the connections. The fix will be available with Q1 2015 Release.
When a RadDiagramItem is deserialized, some of its properties receive local values. This is why if you have applied style setters on these properties, the value applied by the style setter is no longer used.
Implemented functionality that detects a connection creation being cancelled through the Esc key and notifies the user In order to take advantage of this functionality you should inherit the ConnectionTool of RadDiagram and override the KeyDown method - if it returns true the tool action has been canceled. More about how to customize RadDiagram tools you can find in our help topic " Tools Customization": http://www.telerik.com/help/wpf/raddiagram-tools-customization.html Available in LIB version: 2014.3.1103
Using a custom router and gliding connectors may lead to a StackOverflow Exception. The exception is due to an endless update of the connection Start/End points and the ConnectionPoints. Resolution: The fix will be included in R2 2017 SP in June 2017. Generally, avoid using GlidingConnectors and custom Router which calculates intermediate points based on connections' StartPoint/EndPoint. This is а prerequisite of circular dependency between Start/EndPoint and ConnectionPoints. Gliding Connectors essence is to set StartEndPoints and sometimes they are based on the connection points' first and last point. On the other hand, custom router based on Start/EndPoint makes the opposite- connection points depend on start/end. Instead, the client can use the connection.Source.Bounds.Center (Top, Bottom, Left, Right etc) and connection.Target.Bounds.Center(Top, Bottom, Left, Right etc) in a custom router. Available in LIB version: 2017.2.515
Use Bezier Connection. Change Start / End Handles with Mouse or with SetBezierHandles method in code. Rotate/ Drag the connection and notice it is being shifted / its geometry changes unexpectedly. Possible workaround override the RadDiagramConnection like so: public class CustomConnection : RadDiagramConnection { protected override void OnStartPointChanged(System.Windows.Point newValue, System.Windows.Point oldValue) { this.ConnectionPoints[0] = new Point( this.ConnectionPoints[0].X - newValue.X + oldValue.X, this.ConnectionPoints[0].Y - newValue.Y + oldValue.Y); base.OnStartPointChanged(newValue, oldValue); } protected override void OnEndPointChanged(Point newValue, Point oldValue) { this.ConnectionPoints[1] = new Point( this.ConnectionPoints[1].X - newValue.X + oldValue.X, this.ConnectionPoints[1].Y - newValue.Y + oldValue.Y); base.OnEndPointChanged(newValue, oldValue); } } Available in R3 2016 SP
Available in R3 2016 Release
Group of 3 containers A B and C is being dragged. B is nested in A, C is separate. Group is dragged by dragging B. Issue 1 => B goes into drop aware state with red border around it. Issue 2 => when releasing the mouse B and C become children of A. Will be available in R2 2016 Release.
As a workaround, you can create a custom class which derives from RadDiagramConnector and override the Serialize() method. public class CustomConnector : RadDiagramConnector { static CustomConnector() { DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomConnector), new FrameworkPropertyMetadata(typeof(CustomConnector))); } public override SerializationInfo Serialize() { var info = new Telerik.Windows.Diagrams.Core.SerializationInfo(this.GetType()); if (this.Name != null) info[Telerik.Windows.Diagrams.Core.SerializationConstants.ConnectorName] = this.Name; info[Telerik.Windows.Diagrams.Core.SerializationConstants.Offset] = this.Offset.ToInvariant(); if (Telerik.Windows.Controls.DependencyObjectExtensions.IsLocalValueSet(this, RadDiagramConnector.WidthProperty)) info[Telerik.Windows.Diagrams.Core.SerializationConstants.Width] = this.Width.ToInvariant(); if (Telerik.Windows.Controls.DependencyObjectExtensions.IsLocalValueSet(this, RadDiagramConnector.HeightProperty)) info[Telerik.Windows.Diagrams.Core.SerializationConstants.Height] = this.Height.ToInvariant(); this.SerializePrimitives(info); return info; } } }
If you pan the Diagram on touch device the Pan event is not fired. Available in R3 2016 Release
Shape is dropped onto ContainerShape and the container is auto-resized. When you press Ctrl + Z, the shape is removed, but the old size of the Container is not reverted. Expected : the container should return to its old size. When there is a nesting of containers and you drop a shape into in innermost container, Ctrl + Z will return the previos size of the container. Available in R3 2016 Official Release.
Using TreeLayout may lead to a memory leak because the TreeLayoutProcessor keeps a reference to the layout Root. Available in LIB version: 2014.3.1402
OrgTreeRouter holds references to RadDiagramConnections which are not removed from memory. Available in LIB version: 2014.3.1409