2008-12-04 10 views
11

Tengo un Viewbox con Stretch=Uniform para no distorsionar el contenido. Sin embargo, cuando la ventana de marco es más ancha o más alta que el contenido, el contenido de Viewbox siempre está centrado.Alineación de contenido en un WPF Viewbox

Parece que no puedo encontrar ninguna opción de alineación de contenido en Viewbox. ¿Hay alguna manera de hacer esto?

Respuesta

19

Trate VerticalAlignment y HorizontalAlignment. VerticalAlignment = "Top" HorizontalAlignment = "Left" en tu viewbox hará que se ancle al Top y al lado izquierdo.

<Grid> 
    <Viewbox VerticalAlignment="Top" HorizontalAlignment="Left"> 

Si desea que se llene por completo (pero manténgalo uniforme) puede usar Stretch = "UniformToFill".

1

De acuerdo con MSDN, Viewbox se usa para estirar los elementos secundarios. Como los elementos secundarios se alargarían, tendría que establecer la alineación del contenido de los elementos secundarios.

Es posible que desee ver en esto para obtener más información sobre la Viewbox: How do I keep aspect ratio on scalable, scrollable content in WPF?

+2

Puedo establecer HorizontalAlignment y VerticalAlignment en el objeto secundario y aún se centra cuando Viewbox lo escala. –

+1

Lo que veo es que desea establecer la alineación en Viewbox _itself_ (como en la respuesta de John Z). Curiosamente, esto hace que los contenidos se alineen de manera similar. Eso es algo extraño, ya que naturalmente también alinea ViewBox en _its_ contenedor. –

Cuestiones relacionadas