Interface UIHierarchy

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

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

Sintaxe

<GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")> _
Public Interface UIHierarchy

Dim instance As UIHierarchy
[GuidAttribute("72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface UIHierarchy
[GuidAttribute(L"72A2A2EF-C209-408C-A377-76871774ADB7")]
public interface class UIHierarchy
public interface UIHierarchy

Comentários

O objeto de UIHierarchy 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 se o estado de expansão da árvore mostra o item.Selecionar um item que não é mostrado na expansão de árvore atual faz com que a árvore para expandir para mostrar o item.

Você obter este objeto, usando Window.Object na qualquer árvore padrão-Exibir janela da ferramenta.

Porque o objeto UIHierarchy representa qualquer Modo de Exibição de Árvore-tipo de janela, ele é um objeto de janela.Sua propriedade UIHierarchyItems retorna a coleção de nós de nível superior na janela especificada.Em dGerenciador de Soluções, há apenas um Simples nível superior nó, a solução.Em Macro Explorer, também há somente um nó de nível superior, o nó de macros.Isso significa que os nós do projeto são não na coleção de UIHierarchyItems da janela, mas em vez na coleção do nó de nível superior.

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

  • Use o método de GetItem para referência diretamente o nó desejado.

  • Usar UIHierarchyItems.Item.UIHierarchyItems... (uma coleção/Itemens/coleção...padrão).

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

A seguir é exemplos de como usar as duas técnicas para acessar um nó de nível inferior.

Exemplos

Este exemplo usa a estratégia de método 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 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

UIHierarchy Membros

Espaço para nome EnvDTE

Outros recursos

Como: Manipular modos de exibição de árvore usando UIHierarchy