ContextAttributes Interface
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

ContextAttributes Interface

Contains all attributes associated with a global context or window's context in the Dynamic Help window.

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

public interface ContextAttributes : IEnumerable

For DTE.ContextAttributes, this affects the global context bag, which has the lowest precedence for sorting topics.

For Window.ContextAttributes, this affects the context bag for a window. For tool windows, the attributes are in effect only when the window has focus. For editors and designers, the attributes are in effect as long as the editor is the last active MDI child. If the HighPriorityAttributes property is set to true, then the attributes are always in effect and highest in precedence.

After getting a ContextAttributes collection, you must call ContextAttributes.Refresh to ensure that the collection of attributes is up to date, because simply fetching the object does not do so. Adding and removing attributes, however, implicitly refreshes the ContextAttributes collection so that the results of add or remove operations are current.

Sub ContextAttributesExample()
   ' Get a reference to Solution Explorer.
   Dim SolnEx As Window = DTE.Windows.Item _
   Dim CA As ContextAttribute

   ' List the current attributes associated with Solution Explorer.
   ListAttr(SolnEx, CA)

   ' Associate a new F1 keyword with Solution Explorer.
   SolnEx.ContextAttributes.Add("ANewKeyword", 900, _
   ListAttr(SolnEx, CA)

   ' Delete the new F1 keyword from Solution Explorer.
   ListAttr(SolnEx, CA)
End Sub

Sub ListAttr(ByVal SolnEx As Object, ByVal CA As ContextAttribute)
   ' Support function for CATest(). Lists the current attributes 
   ' associated with Solution Explorer.
   Dim msg As String

   MsgBox("Number of context attributes in Solution Explorer: " & _
   For Each CA In SolnEx.ContextAttributes
      msg = msg & CA.Name & Chr(13)
   msg = ""
End Sub
© 2015 Microsoft