Frage

Jedes Mal, schreibe ich einen Setter, deren Value Eigenschaftswert ist nicht beschreibbar inline, verfluche ich die Tatsache, dass der API nicht die Setter Klasse nicht markiert mit [ContentProperty("Value")], die dies ermöglichen würde:

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

... auf diese vereinfacht werden:

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

Also meine Frage ist irgendwie zweifach. Erstens gibt es einen guten Grund, dass die API nicht auf diese Weise konfiguriert? Zweitens gibt es etwas zu stoppen meine so dass diese Metadaten irgendwie mit dem XamlReader verfügbar, obwohl ich nicht die WPF-API steuern Sie?

War es hilfreich?

Lösung

Guter Punkt in die Tat ... Aber man könnte leicht Ihre eigene Setter-Klasse von System.Windows.Setter geerbt erstellen, auf das Content Attribut setzen, und verwenden Sie es anstelle den Standard-Setter.

Andere Tipps

Zehn Jahre und 18 Tage nach der diese Frage, die neu Open-Source-WPF hat ein PR trug vor, dass behebt dieses:

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top