TrackingPropertyDescriptor Class
Provides additional run-time type information for a tracking property of a model element.
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
Namespace: Microsoft.VisualStudio.Modeling.Design
Assembly: Microsoft.VisualStudio.Modeling.Sdk.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.12.0.dll)
Syntax
'Declaration
Public Class TrackingPropertyDescriptor _
Inherits ElementPropertyDescriptor
public class TrackingPropertyDescriptor : ElementPropertyDescriptor
public ref class TrackingPropertyDescriptor : public ElementPropertyDescriptor
type TrackingPropertyDescriptor =
class
inherit ElementPropertyDescriptor
end
public class TrackingPropertyDescriptor extends ElementPropertyDescriptor
The TrackingPropertyDescriptor type exposes the following members.
Constructors
Name | Description | |
---|---|---|
TrackingPropertyDescriptor(ModelElement, DomainPropertyInfo, DomainPropertyInfo, array<Attribute[]) | Initializes a new instance of the TrackingPropertyDescriptor class. | |
TrackingPropertyDescriptor(ElementTypeDescriptor, ModelElement, DomainPropertyInfo, DomainPropertyInfo, array<Attribute[]) | Initializes a new instance of the TrackingPropertyDescriptor class and specifies a default value provider. |
Top
Properties
Name | Description | |
---|---|---|
AttributeArray | Gets or sets an array of attributes. (Inherited from MemberDescriptor.) | |
Attributes | Gets the collection of attributes for this member. (Inherited from MemberDescriptor.) | |
Category | Gets the category in which to group the domain property when the property is displayed in a PropertyGrid control that is set to Categorized mode. (Inherited from ElementPropertyDescriptor.) | |
ComponentType | Gets the type of the model element to which this property is bound. (Inherited from ElementPropertyDescriptor.) | |
Converter | Gets the converter for the described property. (Inherited from ElementPropertyDescriptor.) | |
Description | Gets the description of the described property, as specified in the DescriptionResourceAttribute. (Inherited from ElementPropertyDescriptor.) | |
DesignTimeOnly | Gets whether this member should be set only at design time, as specified in the DesignOnlyAttribute. (Inherited from MemberDescriptor.) | |
DisplayName | Gets the display name of the described property, as specified in the DisplayNameResourceAttribute. (Inherited from ElementPropertyDescriptor.) | |
DomainPropertyInfo | Gets the property information object that was used to create this property descriptor. (Inherited from ElementPropertyDescriptor.) | |
IsBrowsable | Gets a value indicating whether the member is browsable, as specified in the BrowsableAttribute. (Inherited from MemberDescriptor.) | |
IsInstanceBased | Test if this PropertyDescriptor is based on an instance or a static type. (Inherited from ElementPropertyDescriptor.) | |
IsLocalizable | Gets a value indicating whether this property should be localized, as specified in the LocalizableAttribute. (Inherited from PropertyDescriptor.) | |
IsReadOnly | Gets a value that indicates whether the described property is read-only. (Inherited from ElementPropertyDescriptor.) | |
ModelElement | Gets the model element that was used to create this property descriptor. (Inherited from ElementPropertyDescriptor.) | |
Name | Gets the name of the member. (Inherited from MemberDescriptor.) | |
NameHashCode | Gets the hash code for the name of the member, as specified in GetHashCode. (Inherited from MemberDescriptor.) | |
PropertyType | Gets the property type of the described property. (Inherited from ElementPropertyDescriptor.) | |
SerializationVisibility | Gets a value indicating whether this property should be serialized, as specified in the DesignerSerializationVisibilityAttribute. (Inherited from PropertyDescriptor.) | |
SupportsChangeEvents | Gets a value indicating whether value change notifications for this property may originate from outside the property descriptor. (Inherited from PropertyDescriptor.) |
Top
Methods
Name | Description | |
---|---|---|
AddValueChanged | (Inherited from ElementPropertyDescriptor.) | |
CanResetValue | Indicates whether the value of the domain property can be reset. (Overrides ElementPropertyDescriptor.CanResetValue(Object).) | |
CreateAttributeCollection | Creates a collection of attributes using the array of attributes passed to the constructor. (Inherited from MemberDescriptor.) | |
CreateInstance | Creates an instance of the specified type. (Inherited from PropertyDescriptor.) | |
Equals | Compares this to another object to see if they are equivalent. (Inherited from PropertyDescriptor.) | |
FillAttributes | Adds the attributes of the PropertyDescriptor to the specified list of attributes in the parent class. (Inherited from PropertyDescriptor.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetChildProperties() | Returns the default PropertyDescriptorCollection. (Inherited from PropertyDescriptor.) | |
GetChildProperties(array<Attribute[]) | Returns a PropertyDescriptorCollection using a specified array of attributes as a filter. (Inherited from PropertyDescriptor.) | |
GetChildProperties(Object) | Returns a PropertyDescriptorCollection for a given object. (Inherited from PropertyDescriptor.) | |
GetChildProperties(Object, array<Attribute[]) | Returns a PropertyDescriptorCollection for a given object using a specified array of attributes as a filter. (Inherited from PropertyDescriptor.) | |
GetEditor | Returns a value editor for the described property. (Inherited from ElementPropertyDescriptor.) | |
GetHashCode | Returns the hash code for this object. (Inherited from PropertyDescriptor.) | |
GetInvocationTarget | This method returns the object that should be used during invocation of members. (Inherited from PropertyDescriptor.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
GetTypeFromName | Returns a type using its name. (Inherited from PropertyDescriptor.) | |
GetValue | Gets the value of the domain property. (Inherited from ElementPropertyDescriptor.) | |
GetValueChangedHandler | Retrieves the current set of ValueChanged event handlers for a specific component (Inherited from PropertyDescriptor.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnValueChanged | Raises the ValueChanged event that you implemented. (Inherited from PropertyDescriptor.) | |
RemoveValueChanged | (Inherited from ElementPropertyDescriptor.) | |
ResetValue | Resets the value of the tracking property. (Overrides ElementPropertyDescriptor.ResetValue(Object).) | |
SetValue | Sets the value of the domain property. (Inherited from ElementPropertyDescriptor.) | |
ShouldSerializeValue | Indicates whether the value of the tracking property should be serialized. (Overrides ElementPropertyDescriptor.ShouldSerializeValue(Object).) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
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.
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
Microsoft.VisualStudio.Modeling.Design Namespace