2008-12-04 7 views
11

J'ai une Viewbox avec Stretch=Uniform afin de ne pas déformer le contenu. Cependant, lorsque la fenêtre d'image est plus large ou plus grande que le contenu, le contenu de la vue est toujours centré.Aligner du contenu dans une Viewbox WPF

Je n'arrive pas à trouver d'options d'alignement de contenu dans la Viewbox. Existe-t-il un moyen de le faire?

Répondre

19

Essayez VerticalAlignment et HorizontalAlignment. VerticalAlignment = "Top" HorizontalAlignment = "Left" sur votre viewbox l'amènera à être ancré sur les côtés supérieur et gauche.

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

Si vous voulez remplir complètement (mais gardez-uniforme) vous pouvez utiliser extensible = « UniformToFill ».

1

Selon la norme MSDN, la Viewbox est utilisée pour étirer les éléments enfants. Étant donné que les éléments enfants seraient étirés, vous devez définir l'alignement du contenu des enfants.

Vous voudrez peut-être regarder ce pour plus d'informations sur le Viewbox: How do I keep aspect ratio on scalable, scrollable content in WPF?

+2

Je peux définir HorizontalAlignment et VerticalAlignment sur l'objet enfant et il est toujours centré lorsque la Viewbox l'étend. –

+1

Ce que je vois, c'est que vous voulez définir l'alignement sur Viewbox _itself_ (comme dans la réponse de John Z). Curieusement, cela fait que le contenu s'aligne de la même manière. C'est une chose étrange, car il aligne naturellement la ViewBox dans _its_ container. –

Questions connexes