У меня есть кнопка на моем окне. После того, как пользователь нажимает кнопку, я хочу, чтобы мое приложение анимировало загрузочную метку (с ее вращением), пока другой поток получает данные из базы данных. После загрузки данных из БД анимация должна закончиться. Задача кажется простой, но не работает. Проблема в том, что анимация, что бы я ни делал, анимация запускается только после загрузки из базы данных, когда она не нужна.
Помогите пожалуйста. Вот код:
private void LoginButtonClick(object sender, RoutedEventArgs e)
{
Thread thread = new Thread(new ThreadStart(
delegate()
{
DispatcherOperation dispatcherOp =
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(
delegate()
{
var da = new DoubleAnimation(360, 0, new Duration(TimeSpan.FromSeconds(1)));
var rt = new RotateTransform();
loadingLabel.RenderTransform = rt;
loadingLabel.RenderTransformOrigin = new Point(0.5, 0.5);
da.RepeatBehavior = RepeatBehavior.Forever;
rt.BeginAnimation(RotateTransform.AngleProperty, da);
}));
dispatcherOp.Completed += new EventHandler(DispatcherOpCompleted);
}));
thread.Start();
}
void DispatcherOpCompleted(object sender, EventArgs e)
{
//Loading From Database
}