将控件缩放到WPF表单

将控件缩放到WPF表单,wpf,silverlight,wpf-controls,Wpf,Silverlight,Wpf Controls,如何对wpf表单实现类似于visual studio designer中可用的缩放控件 谢谢 将内容放入网格,将网格的缩放渲染变换绑定到滑块(滑块的最小值应为1): 你应该看看Furuta Mitsu(别担心这个有趣的标题!)。我不确定它是否完全符合您的要求,但它可以给您一些想法……也许您可以尝试一下变焦控制,它是: 要获得WPF的专业缩放控制,请查看 它不是免费的,但非常易于使用,并具有许多功能-动画缩放和平移,支持ScrollViewer,鼠标滚轮支持,包括ZoomController(带有

如何对wpf表单实现类似于visual studio designer中可用的缩放控件


谢谢

将内容放入网格,将网格的缩放渲染变换绑定到滑块(滑块的最小值应为1):


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

也许您可以尝试一下变焦控制,它是:


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


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

您可能想使用
layoututtransform
进行缩放,这将允许任何父级
ScrollViewer
控件正确显示滚动条。@Brett:谢谢!你的评论完美地回答了我的相关问题!次要的一点是,所有Framewrokelement都有Render/LayoutTransform,因此网格不是一个必要的元素,在一段时间内,我决定不使用它,在放置控件时似乎有bug(没有居中)。
    <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>