wpf controltemplate

Cambiar el tamaño de la casilla de verificación WPF



controltemplate (4)

¿Qué tal esto?

<CheckBox> <CheckBox.LayoutTransform> <ScaleTransform ScaleX="2" ScaleY="2" /> </CheckBox.LayoutTransform> </CheckBox>

Puede usar valores dobles para ScaleX y ScaleY si los valores enteros no son exactamente lo que desea.

Quiero hacer una casilla más grande en WPF.

Descubrí que necesito hacer una plantilla de control, uno de los cuales se encuentra aquí: http://msdn.microsoft.com/en-us/library/ms752319.aspx

Si utilizo ese código, la casilla de verificación no se parece al aspecto predeterminado. Todo lo que quiero hacer es cambiar los atributos Ancho y Alto del borde.

Necesito una plantilla de control que se vea exactamente como la predeterminada, desde allí solo cambiaré el ancho y la altura. ¿Alguien sabe donde puedo encontrar uno? ¿O un mejor enfoque?



Las Plantillas de control predeterminadas se pueden encontrar en MSDN (consulte el enlace Default WPF Themes ).

Asegúrese de agregar el espacio de nombres de los temas respectivos a su archivo xaml para hacer referencia a los controles de tema necesarios.

<theme:BulletChrome Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" RenderMouseOver="{TemplateBinding IsMouseOver}" RenderPressed="{TemplateBinding IsPressed}" IsChecked="{TemplateBinding IsChecked}"/>

No estoy seguro de si puede especificarlo genéricamente, es posible que deba agregar referencias también.

El problema aquí es que realmente no se puede especificar un tamaño de borde ya que el control lo encapsula.


Puede usar el árbol visual de la casilla de verificación y cuando existan los elementos que desea, cámbielos en tiempo de ejecución estableciendo explícitamente el Ancho y la Altura. Use el snoop de Peter Blois o algún equivalente para ver si hay elementos con nombre a los que puede acceder con FindName; si no, tendrá que adivinar (por ejemplo, algunos estilos pueden tener dos elementos de borde y debe elegir uno) y recorrer el árbol visual explícitamente.

Tenga en cuenta que su código no debería hacer nada si no encuentra los elementos que está buscando.