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