UIHierarchy 介面
代表整合式開發環境 (IDE) 中使用階層式樹狀資料的標準工具視窗,例如 [方案總管]、[伺服器總管] 以及 [巨集總管]。
命名空間: EnvDTE
組件: EnvDTE (在 EnvDTE.dll 中)
語法
'宣告
<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
UIHierarchy 型別會公開下列成員。
屬性
名稱 | 說明 | |
---|---|---|
DTE | 取得最上層的擴充性物件。 | |
Parent | 取得 UIHierarchy 物件的直屬父物件。 | |
SelectedItems | 取得所有目前選取項目的集合。 | |
UIHierarchyItems | 取得代表項目子系的集合。 |
回頁首
方法
名稱 | 說明 | |
---|---|---|
DoDefaultAction | 在階層架構中執行和使用者按兩下或按下 ENTER 鍵時相同的動作。 | |
GetItem | 取得特定路徑指定的項目。 | |
SelectDown | 依據樹狀目錄目前展開的狀態,選取目前選取之節點下方緊鄰的節點。 | |
SelectUp | 依據樹狀目錄目前的展開狀態,選取目前選取之節點上方緊鄰的節點。 |
回頁首
備註
UIHierarchy 物件提供代表樹狀檢視中階層式資料之標準工具視窗的通用物件模型。 您可以選取項目,無論樹狀目錄的展開狀態是否顯示該項目。 選取目前未顯示在展開樹狀目錄中的項目會使樹狀目錄顯示該項目。
您可以在任何標準的樹狀檢視工具視窗中使用 Window.Object 取得此物件。
由於 UIHierarchy 物件代表任何樹狀檢視類型視窗,它是視窗 (Windows) 物件。 它的 UIHierarchyItems 屬性會傳回指定視窗中最上層節點的集合。 在 [方案總管中],只有一個最上層節點,也就是方案。 在 [巨集總管中],也只有一個最上層節點,亦即巨集節點。 這表示,專案節點不在視窗的 UIHierarchyItems 集合中,而是在最上層節點的集合中。
請注意,有兩種方法可以存取特定節點 (UIHierarchyItem):
使用 GetItem 方法直接參考所需的節點。
使用 UIHierarchyItems.Item.UIHierarchyItems... (集合/項目/集合... 模式)。
若要更深一層巡覽至節點巢狀結構,請繼續使用這個模式。 例如,若要巡覽至最上層節點之下的第二個節點,請使用 UIHierarchy.UIHierarchyItems.Item(1).UIHierarchyItems.Item(2)。
下列範例將說明如何使用這兩種技術存取較低層的節點。
範例
這個範例會使用 GetItem 方法策略,存取 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
這個範例會使用 UIHierarchyItems.Item.UIHierarchyItems 策略,存取 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