Compartilhar via


Interface UIHierarchy

Representa as janelas de ferramentas padrão no ambiente de desenvolvimento integrado ((IDE) que usam árvores de dados hierárquicas, como Gerenciador de Soluções, Gerenciador de Servidores, e Macro Explorer.

Namespace:  EnvDTE
Assembly:  EnvDTE (em EnvDTE.dll)

Sintaxe

'Declaração
<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")> _
Public Interface UIHierarchy
[GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface UIHierarchy
[GuidAttribute(L"72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface class UIHierarchy
[<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")>]
type UIHierarchy =  interface end
public interface UIHierarchy

O tipo UIHierarchy expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública DTE Obtém o objeto de nível superior de extensibilidade.
Propriedade pública Parent Obtém o objeto pai imediato de um objeto de UIHierarchy .
Propriedade pública SelectedItems Obtém uma coleção de todos os itens selecionados no momento.
Propriedade pública UIHierarchyItems Obtém uma coleção que representa os filhos do item.

Superior

Métodos

  Nome Descrição
Método público DoDefaultAction Na hierarquia, executa a mesma ação como se o usuário tiver clicado duas vezes em ou ENTER pressionado.
Método público GetItem Obtém o item designado pelo caminho especificado.
Método público SelectDown Seleciona o nó imediatamente abaixo do nó selecionado em relação ao estado atual da expansão da árvore.
Método público SelectUp Seleciona o nó imediatamente acima do nó selecionado em relação ao estado atual da expansão da árvore.

Superior

Comentários

O objeto de UIHierarchy fornece um modelo de objeto padrão comum para as janelas de ferramenta que apresentam dados hierárquicos em uma exibição de árvore. Você pode selecionar itens independentemente do estado de expansão de árvore mostra o item. Selecione um item que não seja mostrado em expansão atual da árvore faz com que a árvore se expanda para mostrar o item.

Você obtiver esse objeto usando Window.Object em qualquer janela padrão da ferramenta de exibição de árvore.

Como o objeto de UIHierarchy representa qualquer janela de exibição tipo de árvore, é um objeto da janela. A propriedade de UIHierarchyItems retorna a coleção de nós de nível superior na janela especificada. Em Gerenciador de Soluções, há apenas um único nó de nível superior, a solução. Em Macro Explorer, também há apenas um nó de nível superior, o nó de macros. Isso significa que os nós de projeto não estão na coleção de UIHierarchyItems da janela, mas em vez na coleção de nível superior do nó.

Carregando isso em mente que, há duas maneiras de acessar um nó específico (UIHierarchyItem):

  • Use o método de GetItem para referenciar diretamente o nó desejado.

  • Use UIHierarchyItems.Item.UIHierarchyItems... (uma coleção/padrão do item/coleção…).

    Para navegar em mais profundo em um aninhamento de nó, manter usando esse padrão. Por exemplo, para navegar até o segundo nó sob o nó de nível superior, use UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2).

Seguem exemplos de como usar ambas as técnicas acessar um nó de nível inferior.

Exemplos

Este exemplo usa a estratégia do método de GetItem de acessar um nó em um UIHierarchy.

Sub UIHierarchyExample1()
   'Reference the UIHierarchy, UIHierarchyItem, and OutputWindow objects.
   Dim UIH As UIHierarchy = _
     DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object
   Dim samples As UIHierarchyItem = UIH.GetItem("Macros\Samples")
   Dim OWPane As OutputWindowPane = GetOutputWindowPane("List Macros")
   Dim file As UIHierarchyItem

   OWPane.Clear()
   For Each file In samples.UIHierarchyItems
      OWPane.OutputString(file.Name & _
        Microsoft.VisualBasic.Constants.vbCrLf)
      Dim macro As UIHierarchyItem
      For Each macro In file.UIHierarchyItems
         OWPane.OutputString("   " & macro.Name & _
           Microsoft.VisualBasic.Constants.vbCrLf)
      Next
   Next
End Sub

Function GetOutputWindowPane(ByVal Name As String, Optional ByVal show _
  As Boolean = True) As OutputWindowPane
   Dim win As Window = _
     DTE.Windows.Item(EnvDTE.Constants.vsWindowKindOutput)
   If show Then win.Visible = True
   Dim ow As OutputWindow = win.Object
   Dim owpane As OutputWindowPane
   Try
      owpane = ow.OutputWindowPanes.Item(Name)
   Catch e As System.Exception
      owpane = ow.OutputWindowPanes.Add(Name)
   End Try
   owpane.Activate()
   Return owpane
End Function

Este exemplo usa a estratégia de UIHierarchyItems.Item.UIHierarchyItems acessando um nó em um UIHierarchy.

Sub UIHierarchyExample2()
   Dim UIH As UIHierarchy = _
     DTE.Windows.Item(Constants.vsWindowKindMacroExplorer).Object
     ' Set a reference to the "Samples" node in Macro Explorer. The 
     ' collections are one-based.
     Dim UIHItem As UIHierarchyItem = _
     UIH.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2)
   Dim file As UIHierarchyItem
   Dim OWPane As OutputWindowPane = GetOutputWindowPane("List Macros")
   For Each file In UIHItem.UIHierarchyItems
      OWPane.OutputString(file.Name & _
        Microsoft.VisualBasic.Constants.vbCrLf)
      Dim macro As UIHierarchyItem
      For Each macro In file.UIHierarchyItems
         OWPane.OutputString("   " & macro.Name & _
           Microsoft.VisualBasic.Constants.vbCrLf)
      Next
   Next
End Sub

Consulte também

Referência

Namespace EnvDTE

Outros recursos

Como manipular modos de exibição de árvore usando UIHierarchy