NavigationService.NavigationProgress Event


Occurs periodically during a download to provide navigation progress information.

 event System::Windows::Navigation::NavigationProgressEventHandler ^ NavigationProgress;
public event System.Windows.Navigation.NavigationProgressEventHandler NavigationProgress;
member this.NavigationProgress : System.Windows.Navigation.NavigationProgressEventHandler 
Public Custom Event NavigationProgress As NavigationProgressEventHandler 

Event Type



The following example shows how to handle NavigationProgress.

void NavigationService_NavigationProgress(object sender, NavigationProgressEventArgs e)
    string msg = string.Format("{0} of {1} bytes retrieved.", e.BytesRead, e.MaxBytes);
    this.progressStatusBarItem.Content = msg;
Private Sub NavigationService_NavigationProgress(ByVal sender As Object, ByVal e As NavigationProgressEventArgs)
    Dim msg As String = String.Format("{0} of {1} bytes retrieved.", e.BytesRead, e.MaxBytes)
    Me.progressStatusBarItem.Content = msg
End Sub


NavigationProgress is passed a NavigationProgressEventArgs which exposes the following progress information:

  • Number of bytes downloaded so far (BytesRead).

  • Number of total bytes to download (MaxBytes).

NavigationProgress is raised once for every 1024 bytes of content downloaded, and once more if the number of remaining bytes is ever less than 1024 bytes. For this reason, handling NavigationProgress provides a useful way to track and display the progress of a current download.

NavigationProgress won't be raised in some cases, such as when the same piece of content is navigated to, or when a content fragment is navigated to on content that is currently loaded (that is, the value of the Content property).

When navigating to a compiled XAML resource, the final NavigationProgress event may not be raised. This means that at the end of the download, the last reported BytesRead value may not equal the MaxBytes value. Handle the LoadCompleted event to be notified when the navigation has finished.


When NavigationService raises NavigationProgress, it also raises Application.NavigationProgress event on the Application object.

Applies to

See also