ScaleTransform和CenterX

Vas*_*eia 6 wpf scaletransform

我有以下代码

<Canvas Width="800" Height="600">
    ...
    <local:UpgradeLandDialog x:Name="upgradeDialog" Canvas.Left="250" Canvas.Top="200" HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="0">
        <local:UpgradeLandDialog.LayoutTransform>
            <ScaleTransform ScaleX="0" ScaleY="0" CenterX="400" CenterY="300"/>
        </local:UpgradeLandDialog.LayoutTransform>
    </local:UpgradeLandDialog>
</Canvas>
Run Code Online (Sandbox Code Playgroud)

在UserControl中,我将ScaleTranform设置为1.我希望UserControl从其中心"增长",但它从它的左上角"增长".CenterX和CenterY中的值不执行任何操作.我怎样才能让它按照我的要求进行缩放?

svi*_*ick 16

您可以RenderTransformOrigin="0.5,0.5"在要设置动画的控件上使用.

  • LayoutTransform和RenderTransform做两件事.如果您需要LayoutTransform,那么这不是一个解决方案. (3认同)

Eri*_*sen 1

为了使其从中心开始增长,您还必须为其边缘设置动画(宽度和高度动画速率的一半)。