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(); } }