Interfaccia UIHierarchy

Rappresenta le finestre degli strumenti standard dell'ambiente di sviluppo integrato (IDE) che utilizzano una struttura ad albero gerarchica di dati, come ad esempio Esplora soluzioni, Esplora server ed Esplora macro.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

'Dichiarazione
<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

Il tipo UIHierarchy espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica Parent Ottiene l'oggetto padre diretto di un oggetto UIHierarchy.
Proprietà pubblica SelectedItems Ottiene l'insieme di tutti gli elementi correntemente selezionati.
Proprietà pubblica UIHierarchyItems Ottiene un insieme che rappresenta gli elementi figlio dell'elemento.

In alto

Metodi

  Nome Descrizione
Metodo pubblico DoDefaultAction Esegue nella gerarchia l'azione equivalente al doppio clic o alla pressione del tasto INVIO.
Metodo pubblico GetItem Ottiene l'elemento specificato dal percorso fornito.
Metodo pubblico SelectDown Seleziona il nodo immediatamente al di sotto del nodo correntemente selezionato, relativamente allo stato di espansione corrente della struttura ad albero.
Metodo pubblico SelectUp Seleziona il nodo immediatamente al di sopra del nodo correntemente selezionato, relativamente allo stato di espansione corrente della struttura ad albero.

In alto

Note

L'oggetto UIHierarchy fornisce un modello a oggetti comune per le finestre degli strumenti standard che presentano dati gerarchici in visualizzazione struttura ad albero. È possibile selezionare gli elementi indipendentemente dallo stato di espansione della struttura ad albero degli elementi. Se si seleziona un elemento non visualizzato nell'espansione corrente della struttura ad albero, quest'ultima verrà espansa per visualizzare l'elemento.

È possibile visualizzare questo oggetto utilizzando Window.Object in una qualsiasi finestra degli strumenti standard con visualizzazione struttura ad albero.

Poiché l'oggetto UIHierarchy rappresenta una qualsiasi finestra con visualizzazione struttura ad albero, è un oggetto Window. La proprietà UIHierarchyItems restituisce l'insieme dei nodi di primo livello nella finestra specificata. In Esplora soluzioni esiste un solo nodo di primo livello, che corrisponde al nodo della soluzione. Anche in Esplora macro esiste un solo nodo di primo livello, che corrisponde al nodo delle macro. Questo significa che i nodi del progetto non si trovano nell'insieme UIHierarchyItems della finestra, bensì nell'insieme dei nodi di primo livello.

Tenendo presente quanto sopra riportato, vi sono due modi per accedere a un nodo particolare (UIHierarchyItem):

  • Mediante il metodo GetItem per fare direttamente riferimento al nodo desiderato.

  • Mediante UIHierarchyItems.Item.UIHierarchyItems..., un criterio per insieme/elemento/insieme ...).

    Per passare all'interno della nidificazione dei nodi, continuare a utilizzare questo criterio. Per passare ad esempio al secondo nodo all'interno del nodo di primo livello, utilizzare UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2).

Di seguito vengono riportati alcuni esempi di utilizzo di entrambe le tecniche per accedere a un nodo di livello inferiore.

Esempi

In questo esempio viene utilizzata la strategia del metodo GetItem di accesso a un nodo in un oggetto 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

In questo esempio viene utilizzata la strategia UIHierarchyItems.Item.UIHierarchyItems per accedere a un nodo in un oggetto 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

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE

Altre risorse

Procedura: modificare le visualizzazioni ad albero mediante UIHierarchy