Невозможно преобразовать значение в атрибуте '[attr]' в объект типа 'System.Windows.TemplateBindingExtension' - PullRequest
3 голосов
/ 09 апреля 2010

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

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

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

Ошибка связывания шаблона

{TemplateBinding local:WindowBase.AreaColor}

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

Присоединенное свойство зависимостей в WindowBase (внутри иерархии классов => без ошибок):

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

С наилучшими пожеланиями, Jesper

1 Ответ

2 голосов
/ 12 апреля 2010

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

{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}, Path=(Window.CaseAreaColor)}
...