Не удается преобразовать значение в атрибуте «attr]» на объект типа «System.Windows.templatebindingextension»

StackOverflow https://stackoverflow.com/questions/2608082

Вопрос

Я получаю эту ошибку, когда определяю свои прикрепленные свойства зависимости в классе за пределами классовой иерархии и установите владельца на общий родительский класс.

Прилагаемая собственность зависимости в классе Windowbase (внешняя класса иерархии => сгенерированная ошибка):

public static readonly DependencyProperty AreaColorProperty =
DependencyProperty.RegisterAttached("AreaColor", typeof(AreaColor), typeof(Window));

TemplateBinding, который не удается

{TemplateBinding local:WindowBase.AreaColor}

Если я вместо этого определяю свойство приложенного зависимости в классе в классе Heirarchy и установить владельца в этот класс, то я не получаю никаких ошибок, почему это?

Прилагаемая собственность зависимости в оконном базе (в пределах классовой иерархии => Нет ошибок):

public static readonly DependencyProperty AreaColorProperty =
DependencyProperty.RegisterAttached("AreaColor", typeof(AreaColor), typeof(WindowBase));

С наилучшими пожеланиями, Джеспер

Это было полезно?

Решение

Я решил проблему, переключаясь на относительный привязку источника:

{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}, Path=(Window.CaseAreaColor)}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top