Aligning content in a WPF Viewbox

15,383

Solution 1

Try VerticalAlignment="Top" and HorizontalAlignment="Left" on your viewbox. It will cause it to be anchored to the top and left side.

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

If you want it to completely fill (but keep it uniform) you can use Stretch="UniformToFill"

Solution 2

According to MSDN the Viewbox is used to stretch the child elements. Since the child elements would be stretched, you would have to set the content alignment of the children.

You may want to look at this for more information on the Viewbox: How do I keep aspect ratio on scalable, scrollable content in WPF?

Share:
15,383

Related videos on Youtube

Jeff B
Author by

Jeff B

Updated on March 21, 2020

Comments

  • Jeff B
    Jeff B over 4 years

    I have a Viewbox with Stretch=Uniform in order to not distort the content. However, when the frame window is wider or taller than the content, the Viewbox content is always centered.

    I cannot seem to find any content alignment options on the Viewbox. Is there a way to do this?

  • Jeff B
    Jeff B over 15 years
    I can set HorizontalAlignment and VerticalAlignment on the child object and it still centers when the Viewbox scales it.
  • Josh Sutterfield
    Josh Sutterfield over 12 years
    What I see is that you want to set alignment on the Viewbox itself (as in John Z's answer). Strangely enough this does cause the contents to align similarly. That's an odd thing, since it naturally also aligns the ViewBox in its container.