¿Hay una buena razón por la cual Setter.Value no es una ContentProperty?
-
06-07-2019 - |
Pregunta
Cada vez que escribo un setter cuyo valor de propiedad Value
no se puede describir en línea, maldigo el hecho de que la API no marca la clase Setter
con < code> [ContentProperty (" Value ")] , que permitiría esto:
<Setter Property="BitmapEffect">
<Setter.Value>
<OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" />
</Setter.Value>
</Setter>
... para simplificar esto:
<Setter Property="BitmapEffect">
<OuterGlowBitmapEffect GlowColor="#AAC" Opacity="0.2" GlowSize="1.25" />
</Setter>
Entonces mi pregunta es un poco doble. En primer lugar, ¿hay una buena razón para que la API no se haya configurado de esta manera? En segundo lugar, ¿hay algo que me impida hacer que estos metadatos estén disponibles para el XamlReader
de alguna manera, a pesar de que no controlo la API de WPF?
Solución
Buen punto de hecho ... Pero podría crear fácilmente su propia clase Setter heredada de System.Windows.Setter, poner el atributo ContentProperty y usarla en lugar del Setter estándar.
Otros consejos
Diez años y dieciocho días después de hacer esta pregunta, el nuevo WPF de código abierto tiene un PR enviado que corrige esto: