public ViewModel() { BznCollection = new ObservableCollection <BznModel>(); comDeviceInfoManager = new ComDeviceInfoManager(); comDeviceInfoManager.Start(); Application.Current.Dispatcher.Invoke(delegate { DeviceCollection = new ObservableCollection <ComDeviceInfo>(comDeviceInfoManager.ComDevices); foreach (var item in DeviceCollection) { BznModel bznModel = new BznModel(); bznModel.ComDevice = item; BznCollection.Add(bznModel); ScanIcpDevices(bznModel).Start(); } }); //foreach (var item in DeviceCollection) //{ // BznCollection.Add(ScanIcpDevices(item)); //} comDeviceInfoManager.RemovedDevices += ComDeviceInfoManager_RemovedDevices; comDeviceInfoManager.AddedDevices += ComDeviceInfoManager_AddedDevices; }
private async Task ScanIcpDevices(BznModel bznModel) { ComReader comReader = new ComReader(bznModel.ComDevice.Port); if (comReader.Open()) { bznModel.IcpDevices = new ObservableCollection <IcpDeviceModel>(await IcpDeviceManager.ScanIcpDevicesAsync(comReader)); } }