UIHierarchy (Interfaz)
Representa las ventanas de herramientas estándar del entorno de desarrollo integrado (IDE) que utilizan árboles de datos jerárquicos, como el Explorador de soluciones, el Explorador de servidores y el Explorador de macros.
Espacio de nombres: EnvDTE
Ensamblado: EnvDTE (en EnvDTE.dll)
Sintaxis
'Declaración
<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
El tipo UIHierarchy expone los siguientes miembros.
Propiedades
Nombre | Descripción | |
---|---|---|
DTE | Obtiene el objeto de extensibilidad de nivel superior. | |
Parent | Obtiene el objeto primario inmediato de un objeto UIHierarchy. | |
SelectedItems | Obtiene una colección de todos los elementos seleccionados actualmente. | |
UIHierarchyItems | Obtiene una colección que representa elementos secundarios del elemento. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
DoDefaultAction | En la jerarquía, realiza la misma acción que si el usuario hubiera hecho doble clic o hubiera presionado la tecla ENTRAR. | |
GetItem | Obtiene el elemento designado por la ruta de acceso dada. | |
SelectDown | Selecciona el nodo inmediatamente inferior al actualmente seleccionado con respecto al estado de expansión actual del árbol. | |
SelectUp | Selecciona el nodo inmediatamente superior al actualmente seleccionado con respecto al estado de expansión actual del árbol. |
Arriba
Comentarios
El objeto UIHierarchy proporciona un modelo de objetos común para las ventanas de herramientas estándar que presentan los datos jerárquicos en una vista de árbol. Puede seleccionar elementos independientemente de que el estado de expansión del árbol muestre el elemento. Al seleccionar un elemento que no aparece en la expansión de árbol actual, el árbol se expande para mostrarlo.
Este objeto se obtiene mediante Window.Object en cualquiera de las ventanas de herramientas estándar de vista de árbol.
Puesto que el objeto UIHierarchy representa cualquier ventana de tipo vista de árbol, se trata de un objeto Window. Su propiedad UIHierarchyItems devuelve la colección de nodos de nivel superior de la ventana especificada. En el Explorador de soluciones sólo hay un nodo de nivel superior, la solución. En el Explorador de macros sólo hay también un nodo de nivel superior, el nodo Macros. Esto significa que los nodos del proyecto no se encuentran en la colección UIHierarchyItems de la ventana, sino en la colección del nodo de nivel superior.
Teniendo esto en cuenta, hay dos maneras de obtener acceso a un nodo concreto (UIHierarchyItem):
Utilizar el método GetItem para hacer referencia directa al nodo deseado.
Utilizar UIHierarchyItems.Item.UIHierarchyItems... (un modelo colección/elemento/colección.... ).
Para navegar en mayor profundidad en el anidamiento de un nodo, siga usando este patrón. Por ejemplo, para navegar hasta el segundo nodo por debajo del nodo de nivel superior, utilice UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2).
A continuación se muestran ejemplos acerca de cómo usar ambas técnicas para obtener acceso a un nodo de nivel inferior.
Ejemplos
En este ejemplo se utiliza la estrategia del método GetItem para obtener acceso a un nodo de 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
En este ejemplo se utiliza la estrategia UIHierarchyItems.Item.UIHierarchyItems para obtener acceso a un nodo de 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