Impossibile convertire il valore dell'attributo '[attr]' a oggetto di tipo 'System.Windows.TemplateBindingExtension'

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

Domanda

ottengo questo errore quando mi definisco i miei proprietà di dipendenza allegati in una classe al di fuori della gerarchia di classe e impostare il proprietario di una classe genitore comune.

In un rapporto proprietà di dipendenza in classe WindowBase (gerarchia di classe al di fuori => errore generato):

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

TemplateBinding che non riesce

{TemplateBinding local:WindowBase.AreaColor}

Se io invece definisco la proprietà di dipendenza allegato in una classe all'interno della gerarchia di classe e impostare il proprietario di questa classe, quindi non ottengo errori, perché è questo?

proprietà di dipendenza Allegato in WindowBase (entro gerarchia di classe => nessun errore):

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

Con i migliori saluti, Jesper

È stato utile?

Soluzione

I risolto il problema passando alla sorgente relativo binding:

{Binding RelativeSource={RelativeSource AncestorType={x:Type Window}}, Path=(Window.CaseAreaColor)}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top