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 | |
---|---|---|
DTE | Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab. | |
Parent | Ruft das unmittelbar übergeordnete Objekt eines UIHierarchy-Objekts ab. | |
SelectedItems | Ruft eine Auflistung aller derzeit ausgewählten Elemente ab. | |
UIHierarchyItems | Ruft eine Auflistung ab, die die untergeordneten Elemente darstellt. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
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. | |
GetItem | Ruft das durch den angegebenen Pfad festgelegte Element ab. | |
SelectDown | Wählt den Knoten direkt unter dem derzeit ausgewählten Knoten entsprechend dem aktuellen Erweiterungszustand der Struktur aus. | |
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
Weitere Ressourcen
Gewusst wie: Verändern von Strukturansichten mithilfe von UIHierarchy