Completed
Last Updated: 17 May 2019 15:15 by ADMIN
Release LIB 2019.2.520 (05/20/2019)

The exception is thrown for the RotationAngle property.

The issue can be observed also in the opposite direction - the diagram is serialized on a machine with some culture (for example Portugal Porguese - pt-PT) and then restored on a machine with an English culture.

The issue reproduces only when saving and loading between cultures which numeric separators are different. For example, with Bulgarian culture, the number 4.5 is represented as 4,5 (with a comma). With English culture the number will be represented as 4.5 (with a period).

To work this around, create a custom RadDiagramShape and override its Deserialize() method. Then parse the RotationAngle manually, and set it to the RotationAngle property of the shape. After this, set the RotationAngle of the SerializationInfo to null, in order to prevent the default restoring of the property.

public partial class CustomShape : RadDiagramShape, IEquatable<BaseShape>
{
    public override void Deserialize(SerializationInfo info)
    {
        if (info["RotationAngle"] != null)
        {
            var angle = Convert.ToDouble(info["RotationAngle"].ToString(), CultureInfo.InvariantCulture);
            this.RotationAngle = angle;               
            info["RotationAngle"] = null;
        }
        base.Deserialize(info);
    }
}

Approved
Last Updated: 26 Mar 2019 11:56 by ADMIN

Currently, the print preview control provides only options for the current printer, the page orientation and the page size . Include the following options too:

 - Paper Format (Lettre, A4, etc.)
 - Paper Orientation (Portrait or Landscape)
 - Number of copies (1, 2, 3, ...)
 - Print Color Settings (Colors or Monochrome)
 - Margins
 - Resolution (DPI based on the capabilities of the printer)

Approved
Last Updated: 25 Mar 2019 14:28 by ADMIN

To reproduce this use the following code snippet:

<telerik:RadDiagram>
    <telerik:RadDiagramShape Content="Shape 1" Position="100, 100"/>
    <telerik:RadDiagramShape Content="Shape 2" UseGlidingConnector="True" Position="300, 100"/>
</telerik:RadDiagram>

Steps to reproduce:

1. Start a new connection from Shape 1, by dragging one of its connectors.
2. Drag the connection over Shape 2. 

Expected: The connector closest to the mouse should get highlighted and when you drop the connection it should get attached to the shape.
Actual: The closest connector is not highlighted. Also, when you drop the connection over the target shape it doesn't get attached.


Approved
Last Updated: 19 Mar 2019 14:39 by ADMIN
ADMIN
Created by: Telerik Admin
Comments: 1
Category: Diagram
Type: Feature Request
14
When zooming out on more than 500-600 shapes and then panning, if telerik:DiagramSurface.IsVirtualizing="True", the performance is slower. 

When virtualization is off, the performance is a little better.
Approved
Last Updated: 19 Mar 2019 14:39 by ADMIN
ADMIN
Created by: Petar Mladenov
Comments: 0
Category: Diagram
Type: Feature Request
6
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.
Approved
Last Updated: 04 Mar 2019 11:39 by ADMIN
A possible workaround is to use an attached property. Basically, we've added ConnectionPointsProperty in AttachedProperties class and added binding to this new property in the style of the connection.

public class AttachedProperties
    {
        public static RadDiagram Diagram { get; set; }

        public static readonly DependencyProperty ConnectionPointsProperty =
           DependencyProperty.RegisterAttached("ConnectionPoints", typeof(List<Point>), typeof(AttachedProperties), new PropertyMetadata(null, OnConnectionPointsChanged));

        public static IEnumerable<Point> GetConnectionPoints(DependencyObject obj)
        {
            return (IEnumerable<Point>)obj.GetValue(ConnectionPointsProperty);
        }

        public static void SetConnectionPoints(DependencyObject obj, IEnumerable<Point> value)
        {
            obj.SetValue(ConnectionPointsProperty, value);
        }

        private static void OnConnectionPointsChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var connection = d as RadDiagramConnection;
            var connectionPoints = e.NewValue as List<Point>;
            if (connection != null && connectionPoints != null)
            {
                for (int i = 0; i <  connectionPoints.ToList().Count; i++)
                {
                    connection.ConnectionPoints.Add(connectionPoints.ToList()[i]);                 
                }
                connection.IsModified = true;
                (connection as IConnection).Update();
            }
        }
    }



  <telerik:RadDiagram.ConnectionStyle>
                <Style TargetType="telerik:RadDiagramConnection">
                    <Setter Property="ConnectionType" Value="Polyline"/>
                    <Setter Property="local:AttachedProperties.ConnectionPoints" Value="{Binding MyConnectionPoints}"/>
                </Style>
            </telerik:RadDiagram.ConnectionStyle>
Completed
Last Updated: 12 Feb 2019 12:58 by ADMIN
The undo and redo actions don't work for the "Move Items" event. This means that nothing will happen when you select a Bezier connection (ConnectionType=Bezier) and drag/drop it to a new position, then press Ctrl+Z.
Completed
Last Updated: 11 Feb 2019 13:32 by ADMIN
When executing the DiagramCommands.Nudge command with a provided number as a parameter, the movement of the selected shape is incorrect. 
Completed
Last Updated: 17 Jan 2019 11:22 by ADMIN
ADMIN
Created by: Zarko
Comments: 16
Category: Diagram
Type: Feature Request
31
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)


This feature is available with our latest official version - R1 2019.
Approved
Last Updated: 12 Nov 2018 07:24 by Jayanth
ADMIN
Created by: Petar Mladenov
Comments: 2
Category: Diagram
Type: Feature Request
20
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
Approved
Last Updated: 19 Sep 2018 15:44 by Patrick
Be able to pre-select, printer, page size and page orientation in the RadDiagramPrintPreview. By default, RadDiagramPrintPreview set the printing orientation in landscape even if we created a diagram in portrait. 
Approved
Last Updated: 30 Aug 2018 08:56 by ADMIN
ADMIN
Created by: Martin Ivanov
Comments: 3
Category: Diagram
Type: Bug Report
2
A small glitch appears when the pencil tool is used. The glitch is demonstrated in the attached image.
Completed
Last Updated: 20 Aug 2018 08:10 by ADMIN
RadDiagramShape has NULL content but has DataContext and ContentTemplate.

In the ContentTemplate there are UIElements defined. Their automation peers are not added in the automation tree.

This can be observed in UIVerify tools.
Declined
Last Updated: 16 Aug 2018 13:39 by ADMIN
   Now when i want to move the drawing in visual range,just by zoom in and zoom out ,if using the doument area like the microsoft visio,adding the A4 size design area(or B5,A3, and so on...),
we can zoom in and zoom out area by Ctrl+Mousewheel,can pan the drawing by scrollbar too.
Approved
Last Updated: 26 Jun 2018 14:02 by Dinko
ADMIN
Created by: Zarko
Comments: 2
Category: Diagram
Type: Feature Request
10

			
Completed
Last Updated: 13 Jun 2018 06:19 by ADMIN
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;
        }
    }
}
Approved
Last Updated: 26 Apr 2018 08:09 by ADMIN
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.



 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();
                        }
                    }
                }
            }
Approved
Last Updated: 30 Mar 2018 11:08 by ADMIN
As a workaround, the property can be set locally for the time being.
1 2 3 4 5 6