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?

¿Fue útil?

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:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top