private void LoadHierarchy() { ExecuteCompleted completed = delegate(string response, ExecuteResult result) { FieldsListViewBorder.Visibility = Visibility.Visible; Loading.HideLoading(ItemTreeView); if (!DataService.HandleExecute(response, result)) { return; } var root = response.ToXElement(); if (root == null) { return; } var header = new TabItemHeader { Header = root.GetAttributeValue("name"), Tag = this }; header.Click += delegate { TemplateHierarchyViewer.CloseTab(TabItem); }; TabItem.Header = header; RenderHierarchy(root); ItemTreeView.TreeView.Clear(); if (ItemTreeView.TreeView.Items.Count <= 0) { return; } var treeViewItem = ItemTreeView.TreeView.Items[0] as BaseTreeViewItem; if (treeViewItem == null) { return; } treeViewItem.IsSelected = true; treeViewItem.IsItemSelected = true; Keyboard.Focus(treeViewItem); }; FieldsLoading.Visibility = Visibility.Collapsed; FieldsListViewBorder.Visibility = Visibility.Collapsed; FieldsTextPanel.Visibility = Visibility.Collapsed; FieldsListView.Items.Clear(); Loading.ShowLoading(ItemTreeView); TemplateUri.Site.DataService.ExecuteAsync("Templates.GetHierarchy", completed, TemplateUri.DatabaseName.ToString(), TemplateUri.ItemId.ToString(), IsSubTemplates ? "SubTemplates" : "SuperTemplates"); }
protected override void Initialize() { base.Initialize(); TemplateHierarchyViewer = new TemplateHierarchyViewer { Pane = this }; Content = TemplateHierarchyViewer; TemplateHierarchyViewer.GotFocus += delegate { SitecorePackage.Instance.GotFocus(this); }; }