private void Servers_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { if (e.NewValue is ServerTreeViewItem) { _selectedServer = e.NewValue as ServerTreeViewItem; _serverContext.ServerInfo = _selectedServer.ServerInfo; } else if (e.NewValue is IServerSubTreeViewItem) { _serverContext.ServerInfo = (e.NewValue as IServerSubTreeViewItem).ParentTreeItem.ServerInfo; } else { _selectedServer = null; _serverContext.ServerInfo = null; } SelectedItemChanged(e.NewValue); }
public async Task RemoveSelectedServerAsync() { Servers.Items.Remove(_selectedServer); await _settingsProvider.SaveServerSettingsAsync(Servers.GetAllServerInformation()); _selectedServer = null; if (Servers.Items.Count > 0) { foreach (var treeItem in Servers.Items) { if (treeItem is TreeView) { ((TreeViewItem)treeItem).IsSelected = false; } } } }