public DeviceListViewModel(IDispatcherHelper dispatcherHelper, INavigationService navigationService, IAdapter adapter, Func<IDevice, DeviceViewModel> deviceViewModelFactory) { _dispatcherHelper = dispatcherHelper; _navigationService = navigationService; _adapter = adapter; _deviceViewModelFactory = deviceViewModelFactory; _adapter.ScanTimeoutElapsed += (s, e) => { StopScan(); }; _adapter.DeviceDiscovered += (s, e) => { if (_devices.All(d => d.ID != e.Device.ID)) { _dispatcherHelper.RunOnUIThread(() => { _devices.Add(e.Device); }); } }; }