У меня есть свой собственный ItemsControl
в моем проекте, и я пытаюсь написать стиль для него, который объединяет статический список элементов со списком элементов в свойстве зависимостей в самом элементе управления ,Binding Scope - Styles & Templates
Вот соответствующий XAML в моем Resource Dictionary:
<x:Array Type="{x:Type System:Object}" x:Key="Static_CloudItems">
<Button>One</Button>
<Button>Two</Button>
<Button>Three</Button>
</x:Array>
<Style TargetType="{x:Type ControlsBase:CloudControl}" x:Key="BasicCloudStyle">
<Setter Property="ItemsSource">
<Setter.Value>
<CompositeCollection>
<CollectionContainer Collection="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ControlsBase:CloudControl}}, Path=CloudItems}" />
<CollectionContainer Collection="{StaticResource Static_CloudItems}" />
</CompositeCollection>
</Setter.Value>
</Setter>
</Style>
А затем соответствующий код в моем управления/окна/независимо:
<ControlsBase:CloudControl Style="{DynamicResource BasicCloudStyle}">
<ControlsBase:CloudControl.CloudItems>
<x:Array Type="{x:Type System:Object}">
<Button>Four</Button>
<Button>Five</Button>
</x:Array>
</ControlsBase:CloudControl.CloudItems>
</ControlsBase:CloudControl>
Идея заключается в том, что стиль должен сочетать статические элементы с любыми элементами определены в версии экземпляра элемента управления для каждого экземпляра.
Моя проблема: привязка выше не работает (и я понял, почему тоже!) Поэтому мне нужен способ привязки к родительскому стилю, но поскольку установщик не находится в визуальном/логическое дерево, просто свойство. Я немного озадачен тем, как действовать.