Editar por imagen nueva en cuestión.
Si no te importa la tipificación adicional, puede utilizar esto:
<Style TargetType="RadioButton" x:Key="rb">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<RadioButton IsChecked="{Binding Path=IsChecked, RelativeSource={RelativeSource Mode=TemplatedParent}}" HorizontalAlignment="Center" VerticalAlignment="Center" />
<Border Background="Transparent" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Esto funciona como se esperaba en mi pequeña aplicación de prueba de:
<Grid>
<Grid.Resources>
<Style TargetType="RadioButton" x:Key="rb">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="RadioButton">
<Grid>
<RadioButton IsChecked="{Binding Path=IsChecked, RelativeSource={RelativeSource Mode=TemplatedParent}}" HorizontalAlignment="Center" VerticalAlignment="Center" />
<Border Background="Transparent" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="ListBoxItem" x:Key="ics">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<Grid ShowGridLines="True">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<RadioButton HorizontalAlignment="Center" VerticalAlignment="Center" />
<RadioButton HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="1" />
<RadioButton Style="{StaticResource rb}" Grid.Column="2" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Grid.Resources>
<ListBox ItemContainerStyle="{StaticResource ics}">
<ListBoxItem>1</ListBoxItem>
</ListBox>
</Grid>
que se parece a:
(Obviamente, querrá usar el tercer método provisto)
Sé que esto no parece mucho, pero le da su resultado. Nuevamente, disculpe el tipeo extra y la falta de estándares de codificación utilizados.
Para esto, el sobrevuelo del mouse no dará el efecto visual, pero el hit-test es válido. Supongo que esto estará bien siempre y cuando esté en una tableta y no rastree los dedos.
Si sólo desea que el control sea de tamaño más grande que usted podría utilizar los métodos siguientes
Puede cambiar el tamaño de un control estableciendo la propiedad RenderTransform
a un objeto ScaleTransform
.
Cambiar el tamaño de todos los RadioButton
objetos dentro de un contenedor(Ventana, Página, rejilla, etc.)
<Window.Resources>
<Style TargetType="RadioButton">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="10" ScaleY="10"/>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
O todos con llave
<Style TargetType="RadioButton" x:Key="resizeRadioButton">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="10" ScaleY="10"/>
</Setter.Value>
</Setter>
</Style>
Uso:
<RadioButton Style="{StaticResource resizeRadioButton}" />
o individualmente
<RadioButton>
<RadioButton.RenderTransform>
<ScaleTransform ScaleX="10" ScaleY="10"/>
</RadioButton.RenderTransform>
</RadioButton>
Sin embargo, si desea utilizar una combinación de control cada vez mayor área activa (o simplemente mayor área activa de todos los controles de un tipo de conjunto), se puede utilizar:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="RadioButton">
<Setter Property="RenderTransformOrigin" Value="0.5,0.5" />
<Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="1.5" ScaleY="1.5"/>
</Setter.Value>
</Setter>
<Setter Property="Content">
<Setter.Value>
<Border>
<Rectangle Margin="-10" Fill="Transparent" />
</Border
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
o simplemente utilizar el comportamiento predeterminado del control dentro de otro recipiente, y el uso de la hélice HorizontalAlignment="Stretch"
sin embargo, esto dibujará el control en la esquina superior izquierda, creo.
¿Has probado propiedades de estiramiento? ¿Has intentado configurar propiedades en el botón de opción, como la alineación del contenido? ¿Su cuadrícula está dentro de algún tipo de panel (porque eso rompe el estiramiento)? ¿Has probado un borde en lugar de una etiqueta? –
Hola Merlyn, sí, he intentado con las propiedades de estiramiento, he probado todas las propiedades posibles en el botón de opción (incluida la alineación del contenido). La grilla está directamente bajo mi control de usuario (que el control del usuario se está agregando a un panel de elementos, pero eso seguramente no podría ser un problema). Los bordes no permiten la alineación del contenido, lo que deja el botón de radio en la parte superior izquierda. –
+1 en la pregunta ahora que tienes las capturas de pantalla. Esto hace que sea mucho más claro lo que estás buscando. –