Domanda

Ogni volta che scrivo un setter il cui valore della proprietà Value non è descrivibile in linea, maledico il fatto che l'API non contrassegni la classe Setter con < code> [ContentProperty (" Value ")] , che consentirebbe questo:

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

... da semplificare a questo:

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

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

È stato utile?

Soluzione

Un buon punto in effetti ... Ma potresti facilmente creare la tua classe Setter ereditata da System.Windows.Setter, inserirvi l'attributo ContentProperty e usarlo al posto del Setter standard.

Altri suggerimenti

Dieci anni e diciotto giorni dopo aver posto questa domanda, il WPF di recente provenienza ha presentato una PR che lo risolve:

https://github.com/dotnet/wpf/pull/745

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top