КонтекстАнимационные методы, упрощение и ремонт
Я своего рода новое в анимации WPF вещи, но я играл с библиотекой или два, и я «была» анимации, который я использовал с окном управления в WPF, это пример этого метода, имейте в виду, что этот метод работает:
public void AnimateFadeWindow(object sender, double opacity, double period)
{
//Tab item is a enw tab item (the sender is casted to this type.)
Window win = (Window)sender;
win.Opacity = 0;
//using the doubleanimation class, animation is a new isntancem use the parameter opacity and set the period to a timespan.
DoubleAnimation animation = new DoubleAnimation(opacity, TimeSpan.FromSeconds(period));
//begin the animation on the object.
win.BeginAnimation(Window.OpacityProperty, animation);
}
Проблема
Как я уже говорил ранее, этот код работает, то вероятностный lem с этим кодом, конечно, он подходит только для элемента управления Window, он не будет работать с другими элементами управления, например TabItem, Button или любым другим элементом управления, для которого я хотел использовать его, поэтому я «Модернизировал» мой метод и это мой ТЕКУЩИЙ метод:
public void AnimateFade(object sender, double opacity, double period)
{
//using the doubleanimation class, animation is a new isntancem use the parameter opacity and set the period to a timespan.
DoubleAnimation animation = new DoubleAnimation(opacity, TimeSpan.FromSeconds(period));
Object obj = sender.GetType();
if (obj is TabItem)
{
TabItem tab = (TabItem)sender;
tab.BeginAnimation(TabItem.OpacityProperty, animation);
}
else if (obj is Label)
{
Label lab = (Label)sender;
lab.BeginAnimation(Label.OpacityProperty, animation);
}
else if (obj is Window)
{
Window win = (Window)sender;
win.Opacity = 0;
win.BeginAnimation(Window.OpacityProperty, animation);
}
}
Этот метод не работает. Я действительно не знаю, что я здесь делаю неправильно, поэтому я подумал, может ли кто-нибудь помочь.
ТАКЖЕ, есть ли более простой способ сделать это, используя что-то вроде класса PropertyInfo или класса отражения?
Спасибо Stack.
Awesome, я не знаю, что я мог вернуться назад к UiElements и использования, что вместо , это довольно интересно. – Method