Beispiel #1
0
        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;
        }
Beispiel #2
0
        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));
            }
        }