Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

DiagramCustomGetEditableItemPropertiesEventArgs.CreateProxyProperty(PropertyDescriptor, Func<IDiagramItem, Object>, IEnumerable<Attribute>) Method

Allows you to create a custom property descriptor.

Namespace: DevExpress.Xpf.Diagram

Assembly: DevExpress.Xpf.Diagram.v24.2.dll

NuGet Package: DevExpress.Wpf.Diagram

#Declaration

public PropertyDescriptor CreateProxyProperty(
    PropertyDescriptor property,
    Func<IDiagramItem, object> getObject,
    IEnumerable<Attribute> additionalAttributes = null
)

#Parameters

Name Type
property PropertyDescriptor
getObject Func<DevExpress.Diagram.Core.IDiagramItem, Object>

#Optional Parameters

Name Type Default Description
additionalAttributes IEnumerable<Attribute> null

A collection of property attributes.

#Returns

Type Description
PropertyDescriptor

The property descriptor that can be added to the Properties collection.

#Remarks

Use the CreateProxyProperty method to allow users to edit properties that are not defined directly at the diagram item level. This can be useful when your diagram is bound to a data source and you need to edit data item properties.

See the example below.

 private void DiagramDesignerControl_CustomGetEditableItemProperties(object sender,
        DevExpress.Xpf.Diagram.DiagramCustomGetEditableItemPropertiesEventArgs e) {
    if (e.Item is DiagramShape)
    {
        PropertyDescriptor namePropertyDescriptor = e.CreateProxyProperty("Name", item => ((Customer)item.DataContext).Name, (item, value) => ((Customer)item.DataContext).Name = value);
        e.Properties.Add(namePropertyDescriptor);
    }
}
See Also