2009-05-06 11 views
10

Ogni volta che scrivo un setter cui Value valore della proprietà non è in linea descrivibile, maledico il fatto che l'API non segna la classe Setter con [ContentProperty("Value")], che permetterebbe questo:C'è una buona ragione che Setter.Value non è una proprietà Content?

<Setter Property="BitmapEffect"> 
    <Setter.Value> 
    <OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" /> 
    </Setter.Value> 
</Setter> 

.. .per essere semplificato a questo:

<Setter Property="BitmapEffect"> 
    <OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" /> 
</Setter> 

Quindi la mia domanda è un po 'duplice. Innanzitutto, c'è una buona ragione per cui l'API non è stata configurata in questo modo? In secondo luogo, c'è qualcosa che impedisce di rendere questi metadati disponibili allo XamlReader in qualche modo, anche se non controllo l'API WPF?

+1

Buon punto con ContentProperty! 1up – Stimul8d

risposta

2

Un buon punto in effetti ... Ma è possibile creare facilmente la propria classe Setter ereditata da System.Windows.Setter, inserire l'attributo ContentProperty su di essa e utilizzarla al posto del Setter standard.