Share via


TrackingPropertyDescriptor Class

Provides additional run-time type information for a tracking property of a model element.

Namespace:  Microsoft.VisualStudio.Modeling.Design
Assembly:  Microsoft.VisualStudio.Modeling.Sdk (in Microsoft.VisualStudio.Modeling.Sdk.dll)

Syntax

'Declaration
Public Class TrackingPropertyDescriptor _
    Inherits ElementPropertyDescriptor
'Usage
Dim instance As TrackingPropertyDescriptor
public class TrackingPropertyDescriptor : ElementPropertyDescriptor
public ref class TrackingPropertyDescriptor : public ElementPropertyDescriptor
public class TrackingPropertyDescriptor extends ElementPropertyDescriptor

Remarks

This class provides dynamic custom property information for a tracking property.

The Domain-Specific Language Tools (DSL Tools) use this type to represent a domain class property that, until it is updated by the user, is calculated based on the value of another domain property. This type controls how a tracking property is handled by the property grid in the domain model and provides transactions for modifying the described property.

A tracking property has two states: tracking and updated by the user. This state is represented by a second, Boolean property, which is specified when the tracking property descriptor is created. By default, the value of the Boolean property should be true, which corresponds to the tracking state.

This descriptor controls whether the Reset command is enabled on the shortcut menu in the property grid for the property, and updates the value of the associated Boolean property when the tracking property is reset.

Notes to Callers:

To add a tracking property to a DSL definition, implement the following features:

  • A custom property-value-changed handler for each tracked property.

  • A custom type descriptor that returns a tracking property descriptor for each tracking property.

  • Every tracking property in such a way that its value is calculated when the associated Boolean property is true.

You also have to ensure that the value of every tracking property is set correctly whenever the store is constructed, such as during creation and loading of the DSL model.

Inheritance Hierarchy

System.Object
  System.ComponentModel.MemberDescriptor
    System.ComponentModel.PropertyDescriptor
      Microsoft.VisualStudio.Modeling.Design.ElementPropertyDescriptor
        Microsoft.VisualStudio.Modeling.Design.TrackingPropertyDescriptor
          Microsoft.VisualStudio.Modeling.DslDefinition.Design.DslDefinitionModelElementTrackingPropertyDescriptor

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

TrackingPropertyDescriptor Members

Microsoft.VisualStudio.Modeling.Design Namespace

Other Resources

Defining Domain Properties

Change History

Date

History

Reason

July 2008

Added topic.

Content bug fix.