SingleChoiceAction.DoExecute(ChoiceActionItem) Method
Raises the ActionBase.Executing, SimpleAction.Execute, ActionBase.Executed, ActionBase.ProcessCreatedView and ActionBase.ExecuteCompleted events one after another.
Namespace: DevExpress.ExpressApp.Actions
Assembly: DevExpress.ExpressApp.v24.2.dll
NuGet Package: DevExpress.ExpressApp
Declaration
Parameters
Name | Type | Description |
---|---|---|
selectedItem | ChoiceActionItem | A ChoiceActionItem object that represents the Single Choice Action’s currently selected item. |
Remarks
We do not recommend that you use the DoExecute
and other methods to execute Actions because such methods can contain UI-specific code. You can refactor your Action’s event handlers and extract the required code into separate methods. Call these separate methods directly without triggering UI-related Action code.
Programmatic execution of custom and built-in Actions is acceptable in rare advanced scenarios, for example, if you:
- Create a custom Action Container and call the
DoExecute
method inside the Action control. In this context, you have complete control over your custom code and can execute any action. Remember to trigger life-cycle events for your actions (such asExecute
). - Add new ways to invoke Actions from the UI (for example, support keyboard or voice control).
- Reuse a built-in Action in a specific context where you would need to write a lot of code to re-implement the Action’s internal business logic.
For more information on how to implement such complex requirements, refer to the following materials:
- XAF - How to execute Actions programmatically.
- “Related GitHub Examples” section of the SimpleAction.DoExecute topic.
- “Related GitHub Examples” section of the ParametrizedAction.DoExecute(Object) topic.
Related GitHub Examples
The following code snippet (auto-collected from DevExpress Examples) contains a reference to the DoExecute(ChoiceActionItem) method.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.