PropertyGridControl.CollectionButtonClick Event
Occurs when a user clicks a collection button. This event allows you to override the button’s default action.
Namespace: DevExpress.Xpf.PropertyGrid
Assembly: DevExpress.Xpf.PropertyGrid.v24.2.dll
NuGet Package: DevExpress.Wpf.PropertyGrid
#Declaration
public event EventHandler<CollectionButtonClickEventArgs> CollectionButtonClick
#Event Data
The CollectionButtonClick event's data class is CollectionButtonClickEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
Button |
Gets the collection button‘s type.
Inherited from Collection |
Default |
Gets the collection button‘s default action. |
Handled |
Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route.
Inherited from Routed |
Original |
Gets the original reporting source as determined by pure hit testing, before any possible Source adjustment by a parent class.
Inherited from Routed |
Routed |
Gets or sets the Routed |
Row |
Gets a property grid row.
Inherited from Property |
Source |
Gets or sets a reference to the object that raised the event.
Inherited from Routed |
Value |
Gets a row’s value.
Inherited from Property |
The event data class exposes the following methods:
Method | Description |
---|---|
Invoke |
When overridden in a derived class, provides a way to invoke event handlers in a type-specific way, which can increase efficiency over the base implementation.
Inherited from Routed |
On |
When overridden in a derived class, provides a notification callback entry point whenever the value of the Source property of an instance changes.
Inherited from Routed |
#Remarks
You can use the CollectionButtonClick
event to initialize a new item whose values depend on the other item’s values. To do this, pass the created item to the e.DefaultAction property as a parameter.
The following code sample adds a new item with the specified ID property when a user clicks the Add Item button:
<dxprg:PropertyGridControl SelectedObject="{Binding DemoProduct}"
CollectionButtonClick="OnCollectionButtonClick"/>
using DevExpress.Xpf.PropertyGrid;
// ...
void OnCollectionButtonClick(object sender, CollectionButtonClickEventArgs e) {
if (e.ButtonKind == CollectionButtonKind.Add) {
var collection = (SupplierList)e.Value;
e.DefaultAction(new Supplier() { ID = collection.Count == 0 ? 0 : collection.Max(x => x.ID) + 1, Name = "", Phone = "" });
e.Handled = true;
}
}
Refer to the following help topic for more information: Collection Definitions.