Is there an equivalent to Form.InvokeRequired in WPF, e.g. Dispatcher.InvokeRequired?
If you're building a Windows Store app, the above example won't work. Here's an example that does work. Modify as needed, of course :)
///
/// Updates the UI after the albums have been retrieved. This prevents the annoying delay when receiving the albums list.
///
///
public void UpdateUiAfterAlbumsRetrieved(System.Collections.ObjectModel.ObservableCollection albums)
{
if (!Dispatcher.HasThreadAccess)
{
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
ddlAlbums.DataContext = albums;
ddlAlbums.IsEnabled = true;
tbxProgress.Text = String.Empty;
ProgressBar.IsIndeterminate = false;
ProgressBar.Visibility = Windows.UI.Xaml.Visibility.Collapsed;
});
}
else
{
ddlAlbums.DataContext = albums;
ddlAlbums.IsEnabled = true;
tbxProgress.Text = String.Empty;
ProgressBar.IsIndeterminate = false;
}
}