.
UserControl, . - XAML : <customControls:LoadingAnimation x:Name="LoadingAnimation" />. ,
LoadingAnimation.Show();
, , , BeginInvoke(),
.
, , LoadingAnimation.Hide().
! :
private void SearchClick(object sender, RoutedEventArgs e)
{
LoadingAnimation.Show();
new StringDelegate(DoSearch).BeginInvoke("TextToSearch", null, null);
}
private void DoSearch(string searchText)
{
object result =
Dispatcher.BeginInvoke(DispatcherPriority.Normal,
new ResultDelagate(UpdateUserInterface), result);
}
private void UpdateUserInterface(object result)
{
LoadingAnimation.Hide();
DataContext = result as ;
}