как вы сбрасываете вашу программу к конфигурации по умолчанию во время выполнения? - PullRequest
2 голосов
/ 11 ноября 2011

У меня есть небольшой проект, над которым я работаю - WPF c #, который перемещает изображение.

Я пробовал это, но не работает

this.NavigationService.Refresh();

Я использую этот метод для измененияположение изображения:

public void Move(Image target, double newX, double newY, Int32 duration)
        {
            dispatcher.Start();
            Vector offset = VisualTreeHelper.GetOffset(target);
            var top = offset.Y;
            var left = offset.X;
            TranslateTransform trans = new TranslateTransform();
            target.RenderTransform = trans;
            DoubleAnimation anim1 = new DoubleAnimation(0, newY - top, TimeSpan.FromSeconds(duration));
            DoubleAnimation anim2 = new DoubleAnimation(0, newX - left, TimeSpan.FromSeconds(duration));
            trans.BeginAnimation(TranslateTransform.YProperty, anim1);
            trans.BeginAnimation(TranslateTransform.XProperty, anim2);



        }

После того, как я переместил изображение, я изменил поле изображения, используя:

myImage.Margin = new Thickness(newX, newY, 0, 0)

И теперь я хочу добавить кнопку, которая сбрасываетвсе изменения в моей программе к конфигурации по умолчанию, когда я впервые загрузил ее, НО во время выполнения.Таким образом, вывод будет, когда я нажму кнопку, изображение вернется в положение по умолчанию.

1 Ответ

0 голосов
/ 11 ноября 2011

Даже после того, как анимация закончилась, она все равно влияет на свойство зависимости. Ваш выбор

  • Установите для свойства анимации FillBehavior значение Stop

  • Удалить всю раскадровку.

  • Удалить анимацию из отдельного свойства.

Пожалуйста, посмотрите на Как: установить свойство после анимации его с раскадровкой для деталей

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