0

アニメーションを使用して下から最終位置まで移動するコントロールがあります。私の問題は、アニメーションの動作を変更して、外側のコンテナー (DarkGray) を尊重するようにしたいということです。

オレンジ色の Ractangle は白い背景にのみ表示され、ダークグレーのグリッドには表示されません。

コード:

MainWindow.xaml:

<Grid Background="DarkGray">
    <Grid Margin="50"
          Background="White">
        <Rectangle x:Name="objectToMove"
                   VerticalAlignment="Bottom"
                   Fill="Orange"
                   Height="50"
                   Width="50"/>
        <Button Height="20"
                Width="40"
                Margin="20"
                Content="Move" 
                Click="Button_Click"
                VerticalAlignment="Top"/>
    </Grid>
</Grid>

MainWindow.xaml.cs:

private void Button_Click(object sender, RoutedEventArgs e)
{
    var target = objectToMove;

    var heightOfControl = target.ActualHeight;
    var trans = new TranslateTransform();
    target.RenderTransform = trans;

    var myAnimation = new DoubleAnimation(heightOfControl, 0, TimeSpan.FromMilliseconds(600));

    trans.BeginAnimation(TranslateTransform.YProperty, myAnimation);
}

現時点の:
実行中のコード スニペットのスナップショット

望ましい解決策:
このようにする必要があります

4

1 に答える 1

1

ClipToBoundsこれにはプロパティを使用します。

<Grid Margin="50"
      Background="White"
      ClipToBounds="True">
于 2013-10-01T13:21:45.553 に答える