/ / En WPF, ¿puedo usar TemplateBinding para establecer el CornerRadius de un botón con plantilla? - c #, wpf, botón, plantilla de control, cornerradius

En WPF, ¿puedo usar TemplateBinding para establecer el CornerRadius de un botón con plantilla? - c #, wpf, botón, plantilla de control, cornerradius

Tengo una plantilla de control de botones que me gustaría reutilizar, a excepción de CornerRadius de su borde, que me gustaría obtener de TemplatedParent para poder especificarla en la declaración de botones.

Desafortunadamente, CornerRadius no es una propiedad de Button, por lo que al compilador no le gusta.

Veo un par de maneras en que podría lograrlo, pero realmente no me gustan.

  1. Uso indebido de un campo No uso de otra manera (por ejemplo, ¿Minwidth?) Para comunicar este nuevo radio. No estoy seguro de si funcionará ya que un int no es exactamente un CornerRadius.
  2. Crea una subclase de Button para agregar CornerRadius y úsalo.

¿Hay otro enfoque que pueda faltar?

Respuestas

0 para la respuesta № 1

La única otra cosa que podría pensar seríacreando una AttachedProperty para CornerRadius y adjuntando eso al botón, luego uniéndolo a eso. No estoy seguro de si el enlace a AttachedProperty funcionará a través de TemplatedParent sin embargo.

Además, es probable que haya menos código para crear una clase de botón derivada que para crear una propiedad adjunta. Por lo tanto, puede que no valga la pena.