Вы неправильно поняли привязку TemplatedParent
в WPF. TemplatedParent
относится к унаследованному контролю, который вы расширяете . Пример: если я написал ControlTemplate
, нацеленный на Button
.
<ControlTemplate TargetType="{x:Type Button}" x:Key="MyButtonTemplate">
<Border BorderBrush="{TemplateBinding Property=Background}" BorderThickness="3" >
<ContentPresenter Margin="10"/>
</Border>
</ControlTemplate>
Это связывает BorderBrush
со свойством base Button.Background
.
Чтобы достичь желаемого, вам нужно пройтись по визуальному дереву, используя RelativeSource FindAncestor
, чтобы найти родителя, а затем выполнить привязку. Чтобы попытаться использовать Mole WPF или Snoop .
Примечание: имеющаяся выше копия Snoop имеет некоторые серьезные проблемы, то есть не может быть глубиной более 256 уровней. У меня есть исправленная и расширенная версия, которая потрясающая. Обмен между использованием Mole и Snoop2 для отладки / визуализации во время разработки.