Loading the diagram via its Load() method adds additional "Copy of" to the GroupName property of the groups.
Use TextTool to create shape with no text but with background. Pressing enter will close the tool. But the shape remains visible, but you cannot neither select it nor delete it with mouse / keyboard. By design this shape should be removed both from the Shapes collection and from the diagram surface.
As a workaround you can try deleting this shape manually by overriding the Diagram's CommandExecuted event : private void diagram_CommandExecuted(object sender, CommandRoutedEventArgs e) { if (e.Command.Name == "Edit Item") { foreach (RadDiagramTextShape textShape in this.diagram.ChildrenOfType<RadDiagramTextShape>()) { if (!this.diagram.Shapes.Contains(textShape)) { Canvas parent = textShape.Parent as Telerik.Windows.Controls.Diagrams.DiagramSurface; if (parent != null) { parent.Children.Remove(textShape); this.diagram.ServiceLocator.GetService<Telerik.Windows.Diagrams.Core.ISelectionService<IDiagramItem>>().ClearSelection(); } } } }
This is reproducible when: - Copy a shape and paste it in the diagram - Drag and drop from the diagram toolbox
Setting diagram.UndoRedoService.UndoBufferSize to 0 after doing some undoable action in diagram does not stop the undo operations. This is a regression issue. Expected: UndoBufferSize 0 means no undo possible. RedoBufferSize 0 means no redo possible. Worakround if applicable: Set the UndoBufferSize to 0 after InitializeComponent. (this is if you don't need undo/redo at all).
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
Connect the Diagrams BackgroundGrid to the Ruler's Measurement Unit and ScaleDefinitions. Currently only in DPI measurement unit the scaledefinitions and diagram background grid look good and consistent.
Editing any diagram shape does not take into account the fontsize of the shape. A possible workaround is to wire to shape's Loaded event as below: private void RadDiagramTextShape_Loaded(object sender, RoutedEventArgs e) { RadDiagramTextShape shape = sender as RadDiagramTextShape; TextBox tBox = shape.ChildrenOfType<TextBox>().FirstOrDefault(); tBox.FontSize = shape.FontSize; } Available in LIB version: 2016.3.926
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
When you paste a big image (bigger than 1024px) it gets blurry
Available in LIB version: 2016.2.801
Available in R3 2016 Release
The AStar routing does not calculate the RouterInflation for shapes which are located in collapsed ContainerShape.
-- 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.
When you serialize a bezier connection moved with mouse, the deserialization is not done -well - connection is not with the proper connection points. Possible workaround: private void diagram_ConnectionDeserialized_1(object sender, Telerik.Windows.Controls.Diagrams.ConnectionSerializationRoutedEventArgs e) { Point startBezier = (Point)Utils.ToPoint((e.SerializationInfo["start"].ToString())); Point endBezier = (Point)Utils.ToPoint((e.SerializationInfo["end"].ToString())); Dispatcher.BeginInvoke(new Action(() => { (e.Connection as RadDiagramConnection).SetBezierHandles(startBezier, endBezier); }), DispatcherPriority.Loaded); } private void diagram_ConnectionSerialized_1(object sender, Telerik.Windows.Controls.Diagrams.ConnectionSerializationRoutedEventArgs e) { e.SerializationInfo["start"] = Utils.ToInvariant(e.Connection.ConnectionPoints[0]); e.SerializationInfo["end"] = Utils.ToInvariant(e.Connection.ConnectionPoints[1]); } Available in LIB version: 2016.3.1010
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
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.
Available in LIB version: 2016.2.516