Compartilhar via


Interface UIHierarchy

Representa janelas de ferramenta padrão no ambiente de desenvolvimento integrado (IDE) que utilize árvores hierárquicas de dados, tais como Solution Explorer, Server Explorer, 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 extensibilidade de nível superior.
Propriedade pública Parent Obtém o objeto pai imediato de um UIHierarchy objeto.
Propriedade pública SelectedItems Obtém uma coleção de todos os itens atualmente selecionados.
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 tivesse clicado duas vezes ou pressionou ENTER.
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 no momento em relação ao estado de expansão atual da árvore.
Método público SelectUp Seleciona o nó imediatamente acima do nó selecionado no momento em relação ao estado de expansão atual da árvore.

Superior

Comentários

O UIHierarchy objeto fornece um modelo de objeto comum para janelas de ferramentas padrão que apresentam dados hierárquicos em um modo de exibição de árvore.Você pode selecionar itens independentemente, por exemplo, se o estado de expansão da árvore mostra o item.Selecionando um item que não conste na expansão árvore atual faz com que a árvore expandir para mostrar o item.

Obter o objeto usando Window.Object em qualquer janela de ferramenta padrão de exibição de árvore.

Porque o UIHierarchy objeto representa qualquer janela de tipo de exibição de árvore, é um objeto de janela.Sua UIHierarchyItems propriedade retorna a coleção de nós de nível superior na janela especificada.Em Solution Explorer, há apenas um único nó de nível superior, a solução.Em Macro Explorer, também há somente um nó de nível superior, o nó de Macros.Isso significa que não são os nós do projeto na janela de UIHierarchyItems a coleção, mas sim na coleção do nó de nível superior.

Com isso em mente, há duas maneiras para acessar um determinado nó (UIHierarchyItem):

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

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

    Para navegar mais profundo no aninhamento de um nó, continue a usar 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).

A seguir estão exemplos de como usar ambas as técnicas para acessar um nó de nível inferior.

Exemplos

Este exemplo usa a GetItem estratégia de método 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 UIHierarchyItems.Item.UIHierarchyItems a estratégia para acessar 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 os modos de exibição de árvore, usando UIHierarchy