Как мне сдвинуть кнопку / текстовое поле или любой элемент управления в WPF? - PullRequest
1 голос
/ 14 февраля 2011

Я хочу просто анимировать текстовое поле так, чтобы оно исчезало, а также перемещалось влево (или в любую позицию х / у).Как я могу этого достичь?

Также будет ли иметь значение, если он находится внутри сетки?

1 Ответ

3 голосов
/ 14 февраля 2011

Вот схематичный метод, который я только что написал для выцветания в любом виде UIElement:

    public static void FadeIn(UIElement element, int xOffset, TimeSpan duration)
    {
        Transform tempTrans = element.RenderTransform;
        TranslateTransform trans = new TranslateTransform(xOffset, 0);
        TransformGroup group = new TransformGroup();
        if (tempTrans != null) group.Children.Add(tempTrans);
        group.Children.Add(trans);

        DoubleAnimation animTranslate = new DoubleAnimation(0, (Duration)duration);
        animTranslate.EasingFunction = new CubicEase() { EasingMode = EasingMode.EaseOut };
        DoubleAnimation animFadeIn = new DoubleAnimation(0, 1, (Duration)duration) { FillBehavior = FillBehavior.Stop };
        animTranslate.Completed += delegate
        {
            element.RenderTransform = tempTrans;
        };

        element.RenderTransform = trans;
        element.BeginAnimation(UIElement.OpacityProperty, animFadeIn);
        trans.BeginAnimation(TranslateTransform.XProperty, animTranslate);
    }

Если некоторые из работ не ясны, не стесняйтесь спрашивать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...