Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Zoom control to WPF Form

How can I implement a zoom control to my wpf forms similar to the one avaialble in the visual studio designer?

thanks!

like image 751
Paulo Avatar asked May 11 '09 23:05

Paulo


2 Answers

Put your stuff into a grid, bind the grid's scale render transformation to a slider (slider should have min value of 1):

    <Grid x:Name="LayoutRoot">
        <Grid.RowDefinitions>
            <RowDefinition Height="0.867*"/>
            <RowDefinition Height="0.133*"/>
        </Grid.RowDefinitions>
        <Slider x:Name="slider" Grid.Row="1" Minimum="1"/>
        <Grid RenderTransformOrigin="0.5,0.5">
            <Grid.RenderTransform>
                <TransformGroup>
                    <ScaleTransform 
                    ScaleY="{Binding Path=Value, ElementName=slider}" 
                    ScaleX="{Binding Path=Value, ElementName=slider}"/>
                </TransformGroup>
            </Grid.RenderTransform>
            <TextBox Text="TextBox" Height="45.214"
 VerticalAlignment="Top" Margin="194,139,209,0"/>
            <TextBox VerticalAlignment="Bottom" 
Text="TextBox" Margin="194,0,209,118.254" Height="48.96"/>
        </Grid>
    </Grid>
like image 101
Sergey Aldoukhov Avatar answered Oct 04 '22 14:10

Sergey Aldoukhov


Maybe you could try out the Zoom Control which is part of WPF Extensions available on Codeplex:

alt text http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=wpfextensions&DownloadId=66810

like image 39
Palesz Avatar answered Oct 04 '22 14:10

Palesz