VisibilityItem 項目
VisibilityItem項目會決定靜態的指令和工具列的可見性。 每個項目會識別指令或功能表,以及不相關聯的命令的 UI 內容。 Visual Studio 會偵測命令、 功能表和工具列],以及其可視性,而不載入定義它們的 VSPackages。 IDE 會使用IsCmdUIContextActive方法來判斷指令 UI 內容是否為作用中。
VSPackage 已載入之後,Visual Studio 會預期命令可視性 VSPackage 所決定的而非VisibilityItem。 如果要判斷您的命令的可視性,您可以實作其中一個BeforeQueryStatus事件處理常式或QueryStatus方法,取決於您的命令的實作方式。
指令或功能表具有VisibilityItem只有當相關的內容正在作用中時才顯示項目。 您可以具有一或多個命令 UI 內容關聯單一命令、 功能表或工具列,包含每個指令內容組合的項目。 如果與多個命令 UI 內容關聯的指令或功能表,則再指令或功能表會顯示使用中的其中一種關聯的命令的 UI 內容時。
VisibilityItem項目只適用於命令、 功能表和工具列],並不會加入群組。 沒有相關的項目VisibilityItem項目是可見的只要其父功能表處於使用中。
<VisibilityItem
guid ="="cmdGuidMyProductCommands"
id=="cmdidAddWidget"
context="guidNotViewSourceMode"/>
屬性和項目
下列章節會說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
guid |
必要項。 GUID /ID 命令識別項的 GUID。 |
id |
必要項。 GUID /ID 命令識別項的識別碼。 |
Context - 內容 |
必要項。 命令會顯示在 UI 內容。 |
條件 |
選擇項。 請參閱 VSCT XML 結構描述條件式屬性。 |
子項目
None
父項目
項目 |
描述 |
---|---|
VisibilityConstraints項目決定的靜態群組的指令和工具列是否可見。 |
備註
標準的 Visual Studio UI 內容定義在 Visual Studio 的 SDK 的安裝路徑的 \VisualStudioIntegration\Common\Inc\vsshlids.h 檔案,如UIContextGuids和UIContextGuids80類別。 在定義一組更完整的 UI 內容的VSConstants類別。
範例
<VisibilityConstraints>
<VisibilityItem guid="cmdSetGuidMyProductCommands" id="cmdidAddWidget"
context="guidNotViewSourceMode"/>
</VisibilityConstraints>