Kann nicht den Wert im Attribute ‚[attr]‘ zu Objekt vom Typ ‚System.Windows.TemplateBindingExtension‘ umwandeln

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

Frage

ich diesen Fehler, wenn ich meine angebrachten Abhängigkeitseigenschaften in einer Klasse außerhalb der Klassenhierarchie und legen Sie den Besitzer zu einem gemeinsamen Elternklasse definiert werden.

Befestigt Abhängigkeitseigenschaft in class WindowBase (außerhalb Klassenhierarchie => erzeugen Fehler):

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

Template, die

versagt
{TemplateBinding local:WindowBase.AreaColor}

Wenn ich stattdessen die beigefügte Abhängigkeitseigenschaft in einer Klasse in der Hierarchie Klasse definieren und an den Eigentümer diese Klasse gesetzt, dann bekomme ich keine Fehler, warum?

Angehängte Abhängigkeitseigenschaft in WindowBase (innerhalb der Klassenhierarchie => keine Fehler):

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

Mit freundlichen Grüßen, Jesper

War es hilfreich?

Lösung

Ich löste das Problem, indem auf die relative Quelle Schalt Bindung:

{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}, Path=(Window.CaseAreaColor)}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top