Gibt es einen guten Grund, dass Setter.Value ist kein Content?
-
06-07-2019 - |
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?
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: