We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

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 class ContextAttributes : IEnumerable

The ContextAttributes type exposes the following members.

Public propertyCountGets a value indicating the number of objects in the ContextAttributes collection.
Public propertyDTEGets the top-level extensibility object.
Public propertyHighPriorityAttributesGets the High Priority attributes collection.
Public propertyParentGets the immediate parent object of a ContextAttributes collection.
Public propertyTypeGets a constant indicating the object type.

Public methodAddAdds an attribute name/value pair to the ContextAttributes collection.
Public methodGetEnumeratorReturns an enumerator for items in the collection.
Public methodItemReturns a ContextAttribute object that is an item of the ContextAttributes collection.
Public methodRefreshRefresh the contents of this attribute collection.

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