0
내 창에 단추가 있습니다. 사용자 클릭 후 버튼을 내 응용 프로그램이 로딩 레이블에 애니메이션을 적용하고 (rotateg it으로), 다른 스레드가 데이터베이스에서 데이터를 가져오고 싶습니다. DB 애니메이션에서 데이터를로드 한 후을 종료해야합니다. 작업은 간단 해 보이지만 작동하지 않습니다. 문제는 애니메이션을 수행하는 모든 애니메이션은 필요하지 않을 때 데이터베이스에서로드 한 후에 만 시작된다는 것입니다.WPF에서 애니메이트 로딩 C#
도움말. 여기에 몇 가지 코드 : Dispatcher.Completed 이벤트가 메인 UI 스레드에서 실행되는
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
}