Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private async void ScannerSelection_Changed(object sender, SelectionChangedEventArgs args)
- {
- var selectedScannerInfo = (BarcodeScannerInfo)args.AddedItems[0];
- var deviceId = selectedScannerInfo.DeviceId;
- if (isSelectionChanging)
- {
- pendingSelectionDeviceId = deviceId;
- return;
- }
- do
- {
- await SelectScannerAsync(deviceId); <- ошибка тут
- // Stop takes precedence over updating the selection.
- if (isStopPending)
- {
- await CloseScannerResourcesAsync();
- break;
- }
- deviceId = pendingSelectionDeviceId;
- pendingSelectionDeviceId = null;
- } while (!String.IsNullOrEmpty(deviceId));
- }
- private async Task SelectScannerAsync(string scannerDeviceId)
- {
- isSelectionChanging = true;
- await CloseScannerResourcesAsync();
- selectedScanner = await BarcodeScanner.FromIdAsync(scannerDeviceId);
- if (selectedScanner != null)
- {
- claimedScanner = await selectedScanner.ClaimScannerAsync();
- if (claimedScanner != null)
- {
- await claimedScanner.EnableAsync();
- claimedScanner.Closed += ClaimedScanner_Closed;
- ScannerSupportsPreview = !String.IsNullOrEmpty(selectedScanner.VideoDeviceId);
- RaisePropertyChanged(nameof(ScannerSupportsPreview));
- claimedScanner.DataReceived += ClaimedScanner_DataReceived;
- if (ScannerSupportsPreview)
- {
- await StartMediaCaptureAsync(selectedScanner.VideoDeviceId);
- }
- }
- else
- {
- //rootPage.NotifyUser("Failed to claim the selected barcode scanner", NotifyType.ErrorMessage);
- }
- }
- else
- {
- //rootPage.NotifyUser("Failed to create a barcode scanner object", NotifyType.ErrorMessage);
- }
- IsScannerClaimed = claimedScanner != null;
- RaisePropertyChanged(nameof(IsScannerClaimed));
- isSelectionChanging = false;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement