将控件缩放到WPF表单

时间:2009-05-11 23:44:43

标签: wpf silverlight wpf-controls

如何对我的wpf表单实现缩放控制,类似于visual studio designer中的avpialble?

谢谢!

4 个答案:

答案 0 :(得分:24)

将您的东西放入网格中,将网格的缩放渲染变换绑定到滑块(滑块的最小值为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>

答案 1 :(得分:5)

答案 2 :(得分:1)

你应该看看Mitsu Furuta的this article(不要担心有趣的标题!)。我不确定它是否完全符合您的要求,但它可以给您一些想法......

答案 3 :(得分:1)

要获得专业的WPF缩放控制,请查看ZoomPanel

它不是免费的,但是非常易于使用并且具有许多功能 - 动画缩放和平移,支持ScrollViewer,鼠标滚轮支持,包括ZoomController(带移动,放大,缩小,矩形缩放,重置按钮) 。它还附带了许多代码示例。