8

次のコードがあります

<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>

UserControl では、ScaleTranform を 1 にアニメーション化します。UserControl をその中心から「成長」させたいのですが、左上隅から「成長」させます。CenterX と CenterY の値は何もしません。必要に応じてスケールするにはどうすればよいですか?

4

6 に答える 6

18

RenderTransformOrigin="0.5,0.5"アニメーション化するコントロールで使用できます。

于 2011-05-20T09:42:48.757 に答える
1

中心から大きくするには、余白もアニメーション化する必要があります (幅と高さをアニメーション化する速度の半分で)。

于 2010-05-24T15:21:50.297 に答える
0

これは私にとってはうまくいきます。私は何か見落としてますか?

<Rectangle StrokeThickness="1" Stroke="Black" Width="200" Height="200">    
  <Rectangle.RenderTransform>
    <ScaleTransform 
       ScaleX="{Binding ElementName=slider, Path=Value}" 
       ScaleY="{Binding ElementName=slider, Path=Value}"
       CenterX ="100" CenterY="100"/>
  </Rectangle.RenderTransform>
</Rectangle>
于 2010-05-24T15:43:52.243 に答える
0

私も少し前にこの問題に遭遇しました。カスタムポイントベースの成長をシミュレートするために、レイアウトの更新ごとにユーザーコントロールの位置を変更することになりました。

于 2010-05-24T15:22:50.417 に答える