Записи в моем Application.Resources
ResourceDictionary
шаблон управления, который, похудел, выглядит примерно следующим образом:RelativeSource переплетных работ от стиля, но не ControlTemplate
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border>
<Border.BorderBrush>
<SolidColorBrush Color="{Binding Path=BorderColor, RelativeSource={RelativeSource AncestorType=UserControl}" />
</Border.BorderBrush>
</Border>
</ControlTemplate>
Каждый UserControl
имеет свою собственность BorderColor
, который это тянет из , В этом примере привязка не находит свойство.
Не удается найти источник для связывания со ссылкой 'RelativeSource FindAncestor, AncestorType =' System.Windows.Controls.UserControl ' AncestorLevel = '1''.
Однако, он работает в другой записи в словаре:
<Style TargetType="TextBox" BasedOn="{StaticResource {x:Type TextBox}}">
<Setter Property="BorderBrush" Value="{Binding Path=BorderColor, RelativeSource={RelativeSource AncestorType=UserControl}"/>
</Style>
Как я могу исправить связывание в первом примере? Желательно, чтобы я не нуждался в дополнительных свойствах экземпляра каждого элемента управления в пользовательском элементе управления.
Я сделал некоторую перекодировку шаблона, чтобы превратить его в стиль, как в первом примере. Используя «TemplateBinding», тогда работало, спасибо! Теперь, чтобы обновить его динамически ... – Dan