UIHierarchy-Schnittstelle

Stellt in der integrierten Entwicklungsumgebung (IDE) Standardtoolfenster dar, die hierarchische Datenstrukturen verwenden. Dazu gehören der Projektmappen-Explorer, der Server-Explorer und der Makro-Explorer.

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

Syntax

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

Der UIHierarchy-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft DTE Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Öffentliche Eigenschaft Parent Ruft das unmittelbar übergeordnete Objekt eines UIHierarchy-Objekts ab.
Öffentliche Eigenschaft SelectedItems Ruft eine Auflistung aller derzeit ausgewählten Elemente ab.
Öffentliche Eigenschaft UIHierarchyItems Ruft eine Auflistung ab, die die untergeordneten Elemente darstellt.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode DoDefaultAction Führt in der Hierarchie dieselbe Aktion durch, die durchgeführt worden wäre, wenn der Benutzer einen Doppelklick ausgeführt oder die EINGABETASTE gedrückt hätte.
Öffentliche Methode GetItem Ruft das durch den angegebenen Pfad festgelegte Element ab.
Öffentliche Methode SelectDown Wählt den Knoten direkt unter dem derzeit ausgewählten Knoten entsprechend dem aktuellen Erweiterungszustand der Struktur aus.
Öffentliche Methode SelectUp Wählt den Knoten direkt über dem derzeit ausgewählten Knoten entsprechend dem aktuellen Erweiterungszustand der Struktur aus.

Zum Seitenanfang

Hinweise

Das UIHierarchy-Objekt stellt ein allgemeines Objektmodell für Standardtoolfenster bereit, in denen hierarchische Daten in einer Strukturansicht angezeigt werden. Sie können Elemente unabhängig davon auswählen, ob sie im erweiterten Zustand der Struktur angezeigt werden. Bei Auswahl eines Elements, das in der aktuellen Strukturerweiterung nicht angezeigt ist, wird die Struktur zum Anzeigen dieses Elements erweitert.

Dieses Objekt können Sie in jedem Standardtoolfenster mit Strukturansicht über Window.Object abrufen.

Da mit dem UIHierarchy-Objekt jedes Fenster mit Strukturansicht dargestellt werden kann, handelt es sich um ein Window-Objekt. Die UIHierarchyItems-Eigenschaft gibt die Auflistung der Knoten auf oberster Ebene im angegebenen Fenster zurück. Im Projektmappen-Explorer gibt es nur einen einzelnen Knoten auf oberster Ebene, die Projektmappe. Im Makro-Explorer gibt es ebenfalls nur einen Knoten auf oberster Ebene, den Knoten Makros. Die Projektknoten befinden sich also nicht in der UIHierarchyItems-Auflistung des Fensters, sondern in der Auflistung des Knotens auf oberster Ebene.

Daher gibt es zwei Möglichkeiten, auf einen bestimmten Knoten (UIHierarchyItem) zuzugreifen:

  • Verwenden Sie die GetItem-Methode, um direkt auf den gewünschten Knoten zu verweisen.

  • Verwenden Sie UIHierarchyItems.Item.UIHierarchyItems... (ein Muster in der Form Auflistung/Element/Auflistung ...).

    Wenn Sie zu einem tiefer geschachtelten Knoten navigieren möchten, setzen Sie dieses Muster fort. Um beispielsweise zum zweiten Knoten unter dem Knoten auf oberster Ebene zu navigieren, verwenden Sie UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2).

Die folgenden Beispiele veranschaulichen beide Verfahren für den Zugriff auf einen untergeordneten Knoten.

Beispiele

In diesem Beispiel wird die Strategie der GetItem-Methode verwendet, um auf einen Knoten in einer UIHierarchy zuzugreifen.

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

Dieses Beispiel verwendet die UIHierarchyItems.Item.UIHierarchyItems-Strategie, um auf einen Knoten in einer UIHierarchy zuzugreifen.

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

Siehe auch

Referenz

EnvDTE-Namespace

Weitere Ressourcen

Gewusst wie: Verändern von Strukturansichten mithilfe von UIHierarchy