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)

Syntax

'Declaration
<GuidAttribute("33C5EBB8-244E-449D-9CEE-FAD70A774E59")> _
Public Interface ContextAttributes _
    Inherits IEnumerable
[GuidAttribute("33C5EBB8-244E-449D-9CEE-FAD70A774E59")]
public interface ContextAttributes : IEnumerable
[GuidAttribute(L"33C5EBB8-244E-449D-9CEE-FAD70A774E59")]
public interface class ContextAttributes : IEnumerable
[<GuidAttribute("33C5EBB8-244E-449D-9CEE-FAD70A774E59")>]
type ContextAttributes =  
    interface
        interface IEnumerable
    end
public interface ContextAttributes extends IEnumerable

The ContextAttributes type exposes the following members.

Properties

  Name Description
Public property Count Gets a value indicating the number of objects in the ContextAttributes collection.
Public property DTE Gets the top-level extensibility object.
Public property HighPriorityAttributes Gets the High Priority attributes collection.
Public property Parent Gets the immediate parent object of a ContextAttributes collection.
Public property Type Gets a constant indicating the object type.

Top

Methods

  Name Description
Public method Add Adds an attribute name/value pair to the ContextAttributes collection.
Public method GetEnumerator Returns an enumerator for items in the collection.
Public method Item Returns a ContextAttribute object that is an item of the ContextAttributes collection.
Public method Refresh Refresh the contents of this attribute collection.

Top

Remarks

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.

Examples

Sub ContextAttributesExample()
   ' Get a reference to Solution Explorer.
   Dim SolnEx As Window = DTE.Windows.Item _
   (Constants.vsWindowKindSolutionExplorer)
   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, _
   vsContextAttributeType.vsContextAttributeLookupF1)
   ListAttr(SolnEx, CA)

   ' Delete the new F1 keyword from Solution Explorer.
   SolnEx.ContextAttributes.Item(3).Remove()
   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: " & _
   SolnEx.ContextAttributes.Count)
   For Each CA In SolnEx.ContextAttributes
      msg = msg & CA.Name & Chr(13)
   Next
   MsgBox(msg)
   msg = ""
End Sub

See Also

Reference

EnvDTE Namespace