2010-12-05 10 views
6

Parece que el ancho de mi casilla de verificación se extiende a la extensión de la celda de la cuadrícula en la que está contenida. Entonces, si marca el camino a la derecha de la etiqueta de casilla de verificación, todavía cambia el valor. ¿Hay alguna manera de hacer que la casilla de verificación solo alterne cuando se hace clic en la etiqueta o en la casilla de verificación sin codificar un valor de ancho para la casilla de verificación?casilla de wpf seleccionada al hacer clic fuera de la etiqueta

Respuesta

4

Si establece el ancho de definición de columna en "Auto", la columna se redimensionará para ajustarse al CheckBox.

Sin embargo, eso podría arruinar su diseño.

Una alternativa es envolver el CheckBox en un StackPanel.

<Grid Margin="10,10,10,10" Name="grid1"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="*"/> 
     </Grid.ColumnDefinitions> 
     <TextBlock Text="Hello"/> 
     <StackPanel Grid.Column="1" Orientation="Horizontal"> 
      <CheckBox Content="Click Me"/> 
     </StackPanel> 
     <Button Grid.Column="2" Content="Press Me"/> 
    </Grid> 

Como se puede ver en la primera captura de pantalla, el cuadro delimitador del CheckBox ahora está a la vuelta de la verificación y la etiqueta en lugar de estar todo el ancho de la columna, como se muestra por el segundo.

Comportamiento correcto:
correct behaviour
conducta incorrecta:
incorrect behaviour

3

Realmente puede estirar tan ancho. Intente aplicar algunos antecedentes al CheckBox; esto le mostrará qué tan ancho es en realidad. Juega también con HorizontalAlignment.

4

El valor predeterminado HorizontalAlignment de casilla de verificación está Stretch. Intente configurarlo en Left/Right/Center.

Cuestiones relacionadas