I missed the forest for the trees... Due some reseach effort I could solve my problem by myself.
The solution lied in the combination of the two approaches i mentioned above.
I implemented the Property <ElementGroup.Elements>
as a DependencyProperty
and used a DataBinding to reference the Elements defined in <RootConfiguration.Elements>
:
#region Dependancy Property
// Dependency Property
public static readonly DependencyProperty ElementsProperty =
DependencyProperty.Register("Elements", typeof(ElementList),
typeof(ElementGroup), new PropertyMetadata(null));
// .NET Property wrapper
public ElementList Elements {
get { return (ElementList )GetValue(ElementsProperty ); }
set { SetValue(ElementsProperty , value); }
}
#endregion
Now I can reffer to the Elements in my XAML-Markup like shown here:
<RootConfiguration.ElementGroups>
<ElementGroupList>
<ElementsGroup Name="All Elements" Elements="{x:Reference completeElementDefinition}" />
<!-- [...] -->
</ElementGroupList>
</RootConfiguration.ElementGroups>