// NOTE: The code in all three pages is identical. /// <summary> /// Handler for the DownloadStatusChanged event /// </summary> /// <param name="sender">The main ViewModel</param> /// <param name="e">Args</param> void ViewModel_DownloadStatusChanged(object sender, DownloadStatusChangedEventArgs e) { // This comes in on a background thread... Dispatcher.BeginInvoke(delegate { if (e.IsComplete) { // Stop loading animation, hide the text, and make the list fully opaque loadingAnimation.Stop(); loadingText.Visibility = Visibility.Collapsed; MainListBox.Opacity = 1; } else { loadingText.Text = e.Message; } }); }
// NOTE: The code in all three pages is identical. /// <summary> /// Handler for the DownloadStatusChanged event /// </summary> /// <param name="sender">The main ViewModel</param> /// <param name="e">Args</param> void ViewModel_DownloadStatusChanged(object sender, DownloadStatusChangedEventArgs e) { // This comes in on a background thread... Dispatcher.BeginInvoke(delegate { if (e.IsComplete) { // Stop loading animation, hide the text, and make the list fully opaque loadingAnimation.Stop(); loadingText.Visibility = Visibility.Collapsed; MainListBox.Opacity = 1; object dummy; if (State.TryGetValue("scrollOffset", out dummy)) MainListBox.SetVerticalScrollOffset((double)dummy); } else { loadingText.Text = e.Message; } }); }