/// <summary> /// Handles can-execute events based on whether the viewer is displaying the last page or not. /// </summary> /// <param name="sender">The originator of the request.</param> /// <param name="eventArgs">The event arguments.</param> public override void CanGoForward(object sender, CanExecuteRoutedEventArgs eventArgs) { CrystalReportViewer viewer = this.host.Child as CrystalReportViewer; PageView pageViewer = viewer.Controls[0] as PageView; eventArgs.CanExecute = viewer != null && viewer.ReportSource != null && (pageViewer == null || viewer.GetCurrentPageNumber() != pageViewer.GetLastPageNumber()); }