Hello.
1) I have WPF application with RadDiagram and RadDiagramToolbox components.
2) I create GalleryCollection with my owner shapes:
This is GetShape method:
3) My shapes I get from database. There are samples of my shapes:
-Shape1:
+Shape2:
+Shape3:
-Shape4:
+Shape5:
-Shaep6:
4) Then I binding GalleryCollection:
5) When I run my application it's OK. My shapes showing into RadDiagramToolbox. When I try drug&drop Shape2 or Shape3 or Shape5 it's OK too.
But when I try drug Shape1 or Shape4 or Shape6 I get exception (I get exception when Path tag has CombinedGeometry tag):
Object reference not set to an instance of an object.
Do you have any ideas?
                                1) I have WPF application with RadDiagram and RadDiagramToolbox components.
2) I create GalleryCollection with my owner shapes:
galleryCollection.Items.Add(new GalleryItem(geometryWrapper.Name, GetShape(geometryWrapper)));
galleryList.Add(new GalleryWrapper(galleryCollection));
GallerySource = new ObservableCollection<GalleryWrapper>(galleryList);This is GetShape method:
private RadDiagramShapeBase GetShape(GeometryWrapper wrapper)
{
    string data = wrapper.Data;
    Path shapePath = (Path)XamlReader.Parse(data);
    RadDiagramShape shape = new RadDiagramShape { Geometry = shapePath.Data, Name = wrapper.Name.Replace(" ", "_") + "Shape" };
    return shape;
}3) My shapes I get from database. There are samples of my shapes:
-Shape1:
<Path xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Stroke='Black' StrokeThickness='1' Fill='#CCCCFF'>
  <Path.Data>
    <CombinedGeometry GeometryCombineMode='Exclude'>
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX='50' RadiusY='50' Center='75,75' />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX='50' RadiusY='50' Center='125,75' />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>+Shape2:
<Path xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Name='starPath' Fill='Gray' Data='M 9,0 L 7,6 L 0,6 L 6,11 L 4,17 L 9,12 L 14,17 L 12,11 L 18,6 L 11,6 L 9,0'>
  <Path.LayoutTransform>
    <ScaleTransform ScaleX='0.8' ScaleY='0.8' />
  </Path.LayoutTransform>
</Path>+Shape3:
<Path xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Stroke='Black' StrokeThickness='1'>
  <Path.Data>
    <PathGeometry>
      <PathGeometry.Figures>
        <PathFigureCollection>
          <PathFigure StartPoint='10,100'>
            <PathFigure.Segments>
              <PathSegmentCollection>
                <QuadraticBezierSegment Point1='200,200' Point2='300,100' />
              </PathSegmentCollection>
            </PathFigure.Segments>
          </PathFigure>
        </PathFigureCollection>
      </PathGeometry.Figures>
    </PathGeometry>
  </Path.Data>
</Path>-Shape4:
<Path xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" Stroke="Black" StrokeThickness="3" Fill="Blue">
  <Path.Data>
    <GeometryGroup>
      <LineGeometry StartPoint="20,200" EndPoint="300,200" />
      <EllipseGeometry Center="80,150" RadiusX="50" RadiusY="50" />
      <RectangleGeometry Rect="80,167 150 30"/>
    </GeometryGroup>
  </Path.Data>
</Path>+Shape5:
<Path xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Data="M 100,200 C 100,25 400,350 400,175 H 280"/>-Shaep6:
<Path xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' Stroke='Black' StrokeThickness='1' Fill='#CCCCFF'>
  <Path.Data>
    <CombinedGeometry GeometryCombineMode="Union">
      <CombinedGeometry.Geometry1>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="75,75" />
      </CombinedGeometry.Geometry1>
      <CombinedGeometry.Geometry2>
        <EllipseGeometry RadiusX="50" RadiusY="50" Center="125,75" />
      </CombinedGeometry.Geometry2>
    </CombinedGeometry>
  </Path.Data>
</Path>4) Then I binding GalleryCollection:
<telerik:RadDiagramToolbox Grid.Column="1" Grid.RowSpan="2" Name="tbxGallery" Header="{Binding RelativeSource={RelativeSource Self}, Path=SelectedItem.Header}"                           Background="#FFE82A2A" HeaderBackground="#FFE82A2A" ItemTemplate="{StaticResource ToolboxTemplate}" ItemsSource="{Binding GallerySource}" 
Title="Галерея" Width="300" />5) When I run my application it's OK. My shapes showing into RadDiagramToolbox. When I try drug&drop Shape2 or Shape3 or Shape5 it's OK too.
But when I try drug Shape1 or Shape4 or Shape6 I get exception (I get exception when Path tag has CombinedGeometry tag):
Object reference not set to an instance of an object.
  at Telerik.Windows.Controls.Diagrams.GeometryParser.ParseBack(PathGeometry geometry) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Diagrams\Diagrams\Utilities\GeometryParser.cs:line 128
   at Telerik.Windows.Controls.Diagrams.GeometryParser.GetString(Geometry geometry) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Diagrams\Diagrams\Utilities\GeometryParser.cs:line 32
   at Telerik.Windows.Controls.RadDiagramShape.Serialize() in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Diagrams\Diagrams\Visuals\RadDiagramShape.cs:line 65
   at Telerik.Windows.Diagrams.Core.SerializationService.SerializeShapes(IEnumerable`1 shapes) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Diagrams\Core\Services\SerializationService.cs:line 315
   at Telerik.Windows.Diagrams.Core.SerializationService.SerializeItems(IEnumerable`1 items) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Diagrams\Core\Services\SerializationService.cs:line 261
   at Telerik.Windows.Controls.Diagrams.Extensions.ToolboxDragService.OnDragInitialized(Object sender, DragInitializeEventArgs args) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Diagrams\Extensions\Toolbox\ToolboxDragService.cs:line 33
   at Telerik.Windows.DragDrop.DragInitializeEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializeEventArgs.cs:line 103
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)<br>   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at Telerik.Windows.DragDrop.DragInitializer.StartDrag() in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializer.cs:line 285
   at Telerik.Windows.DragDrop.DragInitializer.StartDragPrivate(UIElement sender) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializer.cs:line 246
   at Telerik.Windows.DragDrop.DragInitializer.DragSourceOnMouseMove(Object sender, MouseEventArgs e) in c:\TB\135\WPF_Scrum\Release_WPF\Sources\Development\Core\Controls\DragDropManager\DragInitializer.cs:line 196
   at System.Windows.Input.MouseEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at System.Windows.Application.Run()
   at Neolant.ND_Platform.WpfClient.App.Main() in D:\Projects\ProductionPlatform\ND_Platform\ND_Platform\Neolant.ND_Platform.WpfClient\obj\x86\Debug\App.g.cs:line 0
   at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()Do you have any ideas?