The way that this approach is implemented actually breaks the MVVM pattern. Please note that the ComponentDiagramItemViewModel actually holds a collection of UI elements like the RadDiagramConnectors. In order to stick to the MVVM pattern you can create a class deriving from ObservableCollection<RadDiagramConnector>. This custom collection may be populated in XAML and then used to create the new connectors once the shapes are generated. Furthermore, you can control if this custom collection of connectors will be applied to a specific shape with a property exposed by your ComponentDiagramItemViewModel.
Also, the UseDefaultConnectors should be set to True (or left unchanged). By doing this you will be able to use the RadDiagramShape.Connectors collection to visualize your custom connectors. This approach is demonstrated in the attached project.
However, if you need to customize the connectors, without your code behind to search and access resources defined in XAML you can take a look at the project provided by Zarko in this thread
I hope this information is helpful.
Pavel R. Pavlov
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos
and start improving your app based on facts, not hunches.