Viewbox
, WPFA Viewbox
resizes the control nested within it. With its Stretch attribute, we resize the element to fill the entire Viewbox
.
Please drag a Viewbox
to your Window—it will be nested within the default Grid
. Now adjust its properties. Add a Stretch attribute.
Here we adjust a Viewbox
and its XAML. In the screenshot, the Stretch attribute is set to "Fill." So the text in the TextBox
becomes distorted.
Viewbox
, I recommend trying all the Stretch options to find the best one for your purpose.<Window x:Class="WpfApplication10.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Viewbox HorizontalAlignment="Left" Height="299" Margin="10,10,0,0" VerticalAlignment="Top" Width="497" Stretch="Fill"> <TextBox Height="23" TextWrapping="Wrap" Text="TextBox" Width="120"/> </Viewbox> </Grid> </Window>
RenderTransform
A Viewbox
is not the only way to scale and transform a control. You can add a RenderTransform
element inside your control to specify how it is rendered.
RenderTransform
element can apply skew, scale, rotate and translate transformations.The Viewbox
is great for simple stuff. A DoubleAnimation
element (along with a Storyboard
) can be used for animating things.
WPF has strong support for transforming how elements, including controls, pictures and text, are rendered. And Viewbox
is another way we exploit these capabilities.