DiagramControl.CustomGetEditableItemPropertiesCacheKey Event

Allows you to update the set of properties displayed by the property grid.

Namespace: DevExpress.XtraDiagram

Assembly: DevExpress.XtraDiagram.v20.1.dll

Declaration

[DiagramCategory(DiagramCategory.DiagramItems)]
public event EventHandler<DiagramCustomGetEditableItemPropertiesCacheKeyEventArgs> CustomGetEditableItemPropertiesCacheKey
<DiagramCategory(DiagramCategory.DiagramItems)>
Public Event CustomGetEditableItemPropertiesCacheKey As EventHandler(Of DiagramCustomGetEditableItemPropertiesCacheKeyEventArgs)

Event Data

The CustomGetEditableItemPropertiesCacheKey event's data class is DiagramCustomGetEditableItemPropertiesCacheKeyEventArgs. The following properties provide information specific to this event:

Property Description
CacheKey Gets or sets the cache key assigned to the edited diagram item.
Item Returns the edited diagram item.

Remarks

The DiagramControl caches a set of editable properties for each diagram item type. These properties are displayed by the property grid when an end-user selects an item.

If you want to display different sets of a diagram item's properties depending on certain condition, you can handle the CustomGetEditableItemPropertiesCacheKey event.

The following example demonstrates a custom shape that derives from the DiagramShape. When the ShowInfo property value is set to true, the property grid displays the Info property.


//DiagramShapeEx.cs
public class DiagramShapeEx : DiagramShape {
    //the NotifyParentProperty attribute is used to notify the DiagramControl
    //that the ShowInfo value has changed.
    [NotifyParentProperty(true)]
    public bool ShowInfo {
        get;
        set;
    }
    public string Info {
        get;
        set;
    }
}
TIP

If you have a reasonable number of shapes on the canvas, you can set the e.CacheKey to null without affecting the performance.

See Also