コード例 #1
0
        public async Task <IEnumerable <ScannerModel> > GetScannersAsync()
        {
            // String to be used to enumerate scanners
            var deviceSelector = ImageScanner.GetDeviceSelector();

            var scanners = await DeviceInformation.FindAllAsync(deviceSelector);

            var result = scanners
                         .Select(x => new ScannerModel
            {
                Id        = x.Id,
                Name      = x.Name,
                IsDefault = x.IsDefault,
                IsEnabled = x.IsEnabled,
            });

            return(result);

            // Alternatively, a watcher can be used, which raises events as items are located/added/removed/updated:
            //var watcher = DeviceInformation.CreateWatcher(deviceSelector);
            //watcher.EnumerationCompleted += (sender, args) => Debug.WriteLine("Scanners enumerated");
            //watcher.Added += (sender, args) => Debug.WriteLine("Scanner added - {0}", args.Name);
            //watcher.Removed += (sender, args) => Debug.WriteLine("Scanner removed - {0}", args.Id);
            //watcher.Updated += (sender, args) => Debug.WriteLine("Scanner updated - {0}", args.Id);
            //watcher.Start();
        }