private void OnFrameNavigated(object sender, NavigationEventArgs e) { if (e.Content == _frameContentWhenOpened) { // Navigation to original page; close the scanner page closeScanner(); } else if (null == _scannerPage) { _scannerPage = e.Content as barcodescanner.Scanner; if (null != _scannerPage) { _scannerPage.Completed += new EventHandler <barcodescanner.ScannerResult>(scanner_Completed); } } }
void root_Navigated(object sender, System.Windows.Navigation.NavigationEventArgs e) { if (!(e.Content is barcodescanner.Scanner)) { return; } (Application.Current.RootVisual as PhoneApplicationFrame).Navigated -= root_Navigated; barcodescanner.Scanner scanner = (barcodescanner.Scanner)e.Content; if (scanner != null) { scanner.Completed += new EventHandler <barcodescanner.ScannerResult>(scanner_Completed); } }
/// <summary> /// Deattach events /// </summary> private void closeScanner() { // Unhook from events if (null != _frame) { _frame.Navigated -= OnFrameNavigated; _frame.NavigationStopped -= OnFrameNavigationStoppedOrFailed; _frame.NavigationFailed -= OnFrameNavigationStoppedOrFailed; _frame = null; _frameContentWhenOpened = null; } if (null != _scannerPage){ _scannerPage = null; } }
/// <summary> /// Deattach events /// </summary> private void closeScanner() { // Unhook from events if (null != _frame) { _frame.Navigated -= OnFrameNavigated; _frame.NavigationStopped -= OnFrameNavigationStoppedOrFailed; _frame.NavigationFailed -= OnFrameNavigationStoppedOrFailed; _frame = null; _frameContentWhenOpened = null; } if (null != _scannerPage) { _scannerPage = null; } }
private void OnFrameNavigated(object sender, NavigationEventArgs e) { if (e.Content == _frameContentWhenOpened) { // Navigation to original page; close the scanner page closeScanner(); } else if (null == _scannerPage) { _scannerPage = e.Content as barcodescanner.Scanner; if (null != _scannerPage) { _scannerPage.Completed += new EventHandler<barcodescanner.ScannerResult>(scanner_Completed); } } }