2009-06-11 18 views

Respuesta

47

Puede utilizar un ViewBox a algo visual zoom para encajar dentro de su contenedor. Las otras soluciones aquí funcionan, pero solo extienden el control, no su contenido. La ViewBox ampliará ambos.

<!-- Big grid, will stretch its children to fill itself --> 
<Grid Width="1000" Height="1000"> 
<!-- The button is stretched, but its text remains teeny tiny --> 
<Button> 
    <!-- The viewbox will stretch its content 
    to fit the final size of the button --> 
    <Viewbox 
     Margin="4" 
     VerticalAlignment="Stretch" 
     Height="Auto"> 
     <!-- The textblock and its contents are 
     stretched to fill its parent --> 
     <TextBlock 
      Text="Bartenders" /> 
    </Viewbox> 
</Button> 
</Grid> 
+1

Gracias Will, pensé que * debe * ser posible, pero tuve visiones de tener que enlazar la propiedad de tamaño de fuente. – Mark

+0

Buena solución, pero puede matar el rendimiento ... :-( –

+0

@ Jmix90: ¿Hay números reales sobre el rendimiento? Sería comprensible si tuviera muchos de estos controles en un formulario y los cambiara de tamaño a menudo. Pero las preocupaciones sobre el rendimiento no son t hasta que lo sean. – Will

0

Uso DockPanel como contenedor primario

<DockPanel> 
    <TextBlock /> 
</DockPanel> 
1

Conjunto HorizonalAlignment/VerticalAlignment a "estirar".

2

Depende del contenedor primario

cuadrícula, DockPanel estirará su mando a StackPanel, WrapPanel dejará que el control de tamaño en sí ..

Cuestiones relacionadas