Exemplo n.º 1
0
        public void SelectionsConnect(ListBox listBox)
        {
            try
            {
                IEnumerable <Device> devices = listBox.SelectedItems.Cast <Device>() !.ToList() !;
                TabItem?   lastTabItem       = null;
                TabControl tabControl        = (Application.Current.MainWindow as MainWindow) !.TabControl_DevicePanels;
                foreach (Device device in devices)
                {
                    _pluginLoadService.Load(device);
                    IDevicePanel devicePanel = _devicePanelInstanceService.CreateDevicePanelInstance(device);

                    TabItem tabItem = new TabItem()
                    {
                        Header  = device.Name,
                        Content = devicePanel.CreateDevicePanelUI(),
                        VerticalContentAlignment = VerticalAlignment.Top
                    };


                    tabControl.Items.Add(tabItem);
                    lastTabItem = tabItem;
                    _devicesRepository.DeviceOnline(device, devicePanel);
                }
                if (lastTabItem != null)
                {
                    tabControl.SelectedItem = lastTabItem;
                }
            }catch (Exception err)
            {
                MessageBox.Show(err.ToString(), "Can't connect device error");
            }
            finally
            {
                Window.GetWindow(listBox).Close();
            }
        }