Unplanned
Last Updated: 19 Nov 2024 11:00 by Martin Ivanov
Currently, you can use the BackgroundGrid attached properties to customize the grid lines. However, the settings are applied to all lines, regardless their orientation - horizontal or vertical. Add different options for the different orientations. For example, instead of BackgroundGrid.LineStroke to have BackgroundGrid.HorizontalLinesStroke and BackgroundGrid.VerticalLinesStroke, or similar.
Completed
Last Updated: 12 Nov 2024 08:17 by ADMIN
Release Telerik UI for WPF 2024.4.1111 (2024 Q4)

This is a regressiion issue in the 2024.3.924 release of Telerik UI for WPF.
Save and load of the saved XML should result of the same item IDs for every RadDiagramItem (shapes, connections).

To work this around, you can create a custom SerializationService and override its DeserializeItems method, where you can change the "makeUnique" parameter.

The issue manifests also when doing drag/drop from the RadDiagramToolBox or any other custom drag drop implementation that uses the DiagramDropInfo class (which is automatically handled by the RadDiagram's drop internal code). In this case the custom service approach won't work because the drag/drop deserialization works with a separate instance of SerializationService (SerializationService.Default) which cannot be changed. In this case, you can subscribe RadDiagram to the DragDropManaged.Drop event and manually call the SerializationService.Default.DeserializeItems method.

 public class CustomSerializationService : SerializationService
 {
     public CustomSerializationService(IGraphInternal graph) : base(graph)
     {
     }

     public override IEnumerable<IDiagramItem> DeserializeItems(SerializationInfo serializationInfo, bool makeUnique = false)
     {
         makeUnique = false;
         return base.DeserializeItems(serializationInfo, makeUnique);
     }
 }

 public MainWindow()
 {
     InitializeComponent();

     this.diagram.ServiceLocator.Register<ISerializationService>(new CustomSerializationService(this.diagram));

     DragDropManager.AddDropHandler(this.diagram, OnDiagramDrop);
 }

 private void OnDiagramDrop(object sender, Telerik.Windows.DragDrop.DragEventArgs e)
 {
     var data = DragDropPayloadManager.GetDataFromObject(e.Data, typeof(DiagramDropInfo).Name);
     if (data is DiagramDropInfo)
     {
         SerializationService.Default.DeserializeItems(((DiagramDropInfo)data).Info, false);
     }
 }

Unplanned
Last Updated: 13 Sep 2024 15:21 by Martin Ivanov

The middle point in this context is a point that is located on the line segment that is positioned after the middle length of the line. Add a property on the RadDiagramConnection class that returns the middle point. The property should be DependencyProperty so it can be bound with OneWayToSource mode in order to be able to notify the bound view model (if such is presented).

Currently, you can get this information by combining the CalculateMiddlePointOfLine and AllPoints methods of the ConnectionUtilities class.

var allConnectionPoints = Telerik.Windows.Diagrams.Core.ConnectionUtilities.ConnectionUtilities.AllPoints(radDiagramConnection);
var startAndEndPoints = new Tuple<Point, Point>(radDiagramConnection.StartPoint, radDiagramConnection.EndPoint);
Point middlePoint = Telerik.Windows.Diagrams.Core.ConnectionUtilities.CalculateMiddlePointOfLine(startAndEndPoints, allConnectionPoints);

Unplanned
Last Updated: 11 Sep 2024 16:12 by Martin Ivanov
Currently, the StartPoint and EndPoint properties of RadDiagramConnection cannot be data bound when the binding is defined in a Style that targets RadDiagramConnection. This happens because the RadDiagram control is updating the Start/EndPoint properties using a local value setting which has a higher setting priority than any data bindings defined in a Style. This can be improved by replacing the local value settings with calls to the SetCurrentValue method of DependencyObject.
Completed
Last Updated: 01 Jul 2024 11:22 by ADMIN
Release 2024.2.701 (Preview)

In the Swimlane diagram example (Data Visualization -> Diagrams -> Swimlane) the application crashes, showing at least one but often more than one error message.

How to reproduce:

  • Open the Swimlane example.
  • Click the area that is labelled as "Process name" (also marked in the attached screenshot)
  • One or multiple Message boxes containing the exception message
{DependencyProperty.UnsetValue} is not a valid value for the Property "Background"

pop up (see other screenshot)

Declined
Last Updated: 20 Mar 2024 11:34 by Petar
The ExportToImage method of the RadDiagram control does not take into account transforms applied to the diagram items.
Unplanned
Last Updated: 15 Feb 2024 10:41 by Martin Ivanov
Currently, when you select multiple shapes, you can rotate them altogether using the rotate icon displayed on top of the ManipulationAdorner visual (the rectangle that encloses the shapes). However, there is no property or a method that allows to programmatically provide a rotation angle for the adorner. 

Add a RotationAngle property or a Rotate() method or something similar that will automatically update the rotation of the ManipulationAdorner along with the shapes inside.
Unplanned
Last Updated: 21 Nov 2023 09:40 by Stenly

Add an option to modify the StartPoint and EndPoint properties of RadDiagramConnection instances via the SettingsPane.

 

This functionality can be achieved by modifying the default ControlTemplate of the SettingsPaneView element to include an additional RadTabItem instance in the RadTabControl element. In the additional RadTabItem, input controls can be used, such as the RadNumericUpDown element. These elements should modify properties that will be present in a custom LinkViewModelBase<NodeViewModelBase>> class. More specifically, the X and Y properties of the StartPoint and EndPoint properties of the RadDiagramConnection element.

The attached sample project shows the implementation of the above approach for achieving this requirement.

Unplanned
Last Updated: 20 Nov 2023 16:38 by Stenly

Add an option to customize the available colors in the SettingsPane control:

Unplanned
Last Updated: 20 Nov 2023 11:11 by Vladimir
Introduce the option for snapping connections while they are being drawn. 
Unplanned
Last Updated: 01 Aug 2023 07:11 by William
WPF Demo export as HTML does not work with specific examples
Completed
Last Updated: 02 Aug 2023 05:55 by ADMIN
Release LIB 2023.2.807 (7 Aug 2023)
When performing an undo operation for restoring a deleted RadDiagramContainerShape containing a child shape, an InvalidOperationException is thrown. The scenario is reproduced when the RadDiagram is used in a databound scenario. 
Unplanned
Last Updated: 23 Jan 2024 14:29 by ADMIN
If the ActiveTool of a RadDiagram instance is changed from a PointerTool to PanTool while a shape is being resized, shape will still be resizable when the mouse gets close to the resize rectangles. 
Completed
Last Updated: 19 Jan 2023 14:50 by ADMIN
An exception is raised when the active tool of the RadDiagram is ConnectorTool and a shape is clicked when its UseDefaultConnectors property is set to false.
Completed
Last Updated: 19 Jan 2023 14:50 by ADMIN
Currently snapping to the grid is disabled when moving the mouse closer than 10 pixels to a shape. A constant can be exposed to control this distance.
Completed
Last Updated: 19 Jan 2023 14:50 by ADMIN
Release LIB 2022.3.1128 (28 Nov 2022)
Sometimes, when fast dragging a connector out of shape to create a new connection, connector might stay in Active state. This can also result in incorrect event args in ConnectionManupulationCompleted event leading to wrong application logic.
Declined
Last Updated: 21 Nov 2022 09:19 by ADMIN
Created by: Bartosz
Comments: 2
Category: Diagram
Type: Bug Report
0

Hi,

In project we have noticed that sometimes for RadDiagram.ConnectionManipulationCompleted we receive unexpected values in event.

This problem is not systematic but it occurs often at the drag of new connection.

To make it reproducible for you I used CustomConnectors sample project from Diagram.

For easier analysis I recorded a video with bug and changes to CustomConnectors project.

 

Best regards,

Bartosz

Completed
Last Updated: 07 Jun 2022 08:05 by ADMIN
Release LIB 2022.2.613 (13 June 2022)

NullReferenceException is thrown when trying to save RadDiagram instance that contains a RadDiagramShape with its Geometry assigned to a GeometryGroup value. 

To work this around, you can flatten the GeometryGroup before setting the shape's Geometry property. This is done by calling the GetFlattenedPathGeometry() method of the GeometryGroup.

shape.Geometry = group.GetFlattenedPathGeometry();

Completed
Last Updated: 11 Apr 2022 10:54 by ADMIN
Release LIB 2022.1.411 (11 April 2022)

Most problematic issue when container can contains a container inside of it.

In mvvm demo project i modified load/save button to Clear diagram and display different content.

It works but after few click there is a recurrence call to update Z indices.

The reason to create such combination is to have hierarchy in diagram to display diagram from general view to detailed view.

 

 

 

Unplanned
Last Updated: 20 Jan 2022 15:07 by ADMIN
Currently, you can hit an ArgumentNullException in case you are using the GraphSource feature of RadDiagram. The exception is thrown if you define a ContainerShapeStyle or ContainerShapeStyleSelector that adds a Style with a TargetType that is different than the one of the container added to the diagram. 

Throw a more descriptive error that tells the concrete reason. In this case, the issue relates to the wrong TargetType of the Style.

To reproduce the error, it is enough to add a container node (ContainerNodeViewModelBase<NodeViewModelBase>) in the graph source and then to add a ContainerShapeStyle with a wrong TargetType. For example, use a type of Button.
1 2 3 4 5 6