private void MoveToSelectedItem(ServerTreeViewModel serverTreeViewModel) { ServersTreeView.BringIntoView(serverTreeViewModel, false, true, ScrollToPosition.Center); ServersTreeView.SelectedItems.Clear(); ServersTreeView.SelectedItem = serverTreeViewModel; ServersTreeView_OnSelectionChanged(this, new ItemSelectionChangedEventArgs()); }
private void MoveToSelectedItem(string id) { var serverTreeViewModel = ServerTreeViewModel.FindNode(ServerViewModel.ServersTreeViewCollection, id); if (serverTreeViewModel != null) { MoveToSelectedItem(serverTreeViewModel); } }
private void ExpandTree(bool expand) { foreach (var node in ServerTreeViewModel.GetNodes(ServerViewModel.ServersTreeViewCollection)) { if (node.Type != ServerTreeViewType.Server) { node.IsExpanded = expand; } } }
private void AddButton_Click(object sender, RoutedEventArgs e) { if (ServersTreeView.SelectedItem is ServerTreeViewModel st) { switch (st.Type) { case ServerTreeViewType.Subtag: MessageBox.Show(this.GetWindowStringValue(@"AddServerError"), UpdateChecker.Name, MessageBoxButton.OK, MessageBoxImage.Error); return; case ServerTreeViewType.Group: { var item = new ServerTreeViewModel { Type = ServerTreeViewType.Server, Server = new Server { Group = st.Name }, Parent = st }; st.Nodes.Add(item); MoveToSelectedItem(item); return; } case ServerTreeViewType.Server: { if (st.Parent is ServerTreeViewModel parent) { var item = new ServerTreeViewModel { Type = ServerTreeViewType.Server, Server = Server.Clone(st.Server), Parent = parent }; var index = parent.Nodes.IndexOf(st) + 1; parent.Nodes.Insert(index, item); MoveToSelectedItem(item); } return; } default: throw new ArgumentOutOfRangeException(); } } var newServer = new Server(); ServerViewModel.ReadServers(new List <Server> { newServer }); MoveToSelectedItem(newServer.Id); }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { var deleteItems = ServersTreeView.SelectedItems.ToArray(); foreach (var selectedItem in deleteItems) { if (selectedItem is ServerTreeViewModel st) { ServerTreeViewModel.Remove(ServerViewModel.ServersTreeViewCollection, st); } } //Fix weird selections ServersTreeView.ClearSelection(); }
private void DeleteButton_Click(object sender, RoutedEventArgs e) { var deleteItems = ServersTreeView.SelectedItems.ToArray(); foreach (var selectedItem in deleteItems) { if (selectedItem is ServerTreeViewModel st) { ServerTreeViewModel.Remove(ServerConfigViewModel.ServersTreeViewCollection, st); ServersTreeView.SelectedItems.Clear(); ServersTreeView_OnSelectionChanged(this, new ItemSelectionChangedEventArgs()); } } }