Существует ряд проблем с вашим кодом.
Во-первых, в официальном документе, FadeInThemeAnimation
описывается как
предварительно настроенная анимация непрозрачности
Итак, он должен увеличить Opacity
из UIElement
до 1,0 или что-то в этом роде. Но я считаю, что Button
, который вы нацеливаете на анимацию, уже имеет непрозрачность 1,0. Таким образом, вы не увидите никаких изменений, даже если анимация работает. Поэтому вместо этого попробуйте FadeOutThemeTransition
, чтобы проверить, работает ли ваш код.
Во-вторых, вы не устанавливаете все эти вещи для установки цели:
SetTarget
, SetTargetName
или animation.TargetName =
Вы просто используете один из них.
В-третьих, Вы не устанавливаете свойство Duration
с помощью new TimeSpan(4)
. Я не знаю, какой тип TimeSpan
возвращается конструктором, который вы использовали, но он не работает с этим, он работает с чем-то вроде TimeSpan.FromMilliseconds(500)
.
В-четвертых, что вы пытаетесь сделать с этим BeginTime
свойством FadInThemeAnimation
? Даже если вы используете его намеренно, проблема TimeSpan
также применима и здесь.
Итак, после всего этого попробуйте что-то вроде этого:
Storyboard myStory = new Storyboard();
FadeOutThemeAnimation animation = new FadeOutThemeAnimation()
{
Duration = TimeSpan.FromMilliseconds(500)
};
Storyboard.SetTarget(animation, button);
myStory.Children.Add(animation);
PlayGround.PointerPressed += (kk, kkk) => myStory.Begin();
Я проверял это, оно работает. Надеюсь, это поможет.