[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Collapse]eXpressApp Framework
 [Expand]Fundamentals
 [Expand]Getting Started
 [Expand]Concepts
 [Expand]Design-Time Features
 [Expand]Deployment
 [Expand]Task-Based Help
  Frequently Asked Questions (FAQ)
 [Collapse]API Reference
  [Expand]DevExpress.EasyTest.Framework
  [Expand]DevExpress.ExpressApp
  [Expand]DevExpress.ExpressApp.Actions
  [Expand]DevExpress.ExpressApp.AuditTrail
  [Expand]DevExpress.ExpressApp.Chart
  [Expand]DevExpress.ExpressApp.Chart.Web
  [Expand]DevExpress.ExpressApp.Chart.Win
  [Expand]DevExpress.ExpressApp.CloneObject
  [Expand]DevExpress.ExpressApp.ConditionalAppearance
  [Expand]DevExpress.ExpressApp.Dashboards
  [Expand]DevExpress.ExpressApp.Dashboards.Web
  [Expand]DevExpress.ExpressApp.Dashboards.Win
  [Expand]DevExpress.ExpressApp.Data
  [Expand]DevExpress.ExpressApp.DC
  [Expand]DevExpress.ExpressApp.DC.ClassGeneration
  [Collapse]DevExpress.ExpressApp.Editors
   [Expand]ActionContainerViewItem Class
   [Expand]ColumnsListEditor Class
   [Expand]CreateCustomModelSynchronizerEventArgs Class
   [Expand]CriteriaObjectTypeMemberAttribute Class
   [Expand]CriteriaOptionsAttribute Class
   [Expand]DashboardViewItem Class
    EditMaskType Enumeration
   [Expand]EditorAliases Structure
   [Expand]EditorDescriptorsFactory Class
   [Expand]IAppearanceEnabled Interface
   [Expand]IAppearanceFormat Interface
   [Expand]IAppearanceVisibility Interface
   [Expand]IComplexControl Interface
   [Expand]IComplexListEditor Interface
   [Expand]IComplexViewItem Interface
   [Expand]IModelRegisteredPropertyEditor Interface
   [Expand]IModelRegisteredPropertyEditors Interface
   [Expand]IModelRegisteredViewItem Interface
   [Expand]IModelRegisteredViewItems Interface
   [Expand]INotifyAppearanceVisibilityChanged Interface
   [Collapse]ListEditor Class
     ListEditor Members
    [Collapse]ListEditor Properties
      AllowEdit Property
      ContextMenuTemplate Property
      Control Property
      DataSource Property
      ErrorMessages Property
      FocusedObject Property
      IsDisposed Property
      List Property
      Model Property
      Name Property
      ProtectedContentText Property
      RequiredProperties Property
      SelectionType Property
    [Expand]ListEditor Events
    [Expand]ListEditor Methods
   [Expand]ListEditorAttribute Class
   [Expand]ModelRegisteredViewItemsGenerator Class
   [Expand]PropertyEditor Class
   [Expand]PropertyEditorAttribute Class
    StaticHorizontalAlign Enumeration
   [Expand]StaticImage Class
   [Expand]StaticText Class
    StaticVerticalAlign Enumeration
    ViewEditMode Enumeration
   [Expand]ViewItem Class
   [Expand]ViewItemAttribute Class
    ViewItemVisibility Enumeration
  [Expand]DevExpress.ExpressApp.EF
  [Expand]DevExpress.ExpressApp.EF.Utils
  [Expand]DevExpress.ExpressApp.FileAttachments.Web
  [Expand]DevExpress.ExpressApp.FileAttachments.Win
  [Expand]DevExpress.ExpressApp.Filtering
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Web
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Win
  [Expand]DevExpress.ExpressApp.Kpi
  [Expand]DevExpress.ExpressApp.Layout
  [Expand]DevExpress.ExpressApp.Maps.Mobile
  [Expand]DevExpress.ExpressApp.Maps.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Maps.Web
  [Expand]DevExpress.ExpressApp.Maps.Web.Helpers
  [Expand]DevExpress.ExpressApp.MiddleTier
  [Expand]DevExpress.ExpressApp.Mobile
  [Expand]DevExpress.ExpressApp.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Mobile.MobileModel
  [Expand]DevExpress.ExpressApp.Mobile.SystemModule
  [Expand]DevExpress.ExpressApp.Mobile.Templates
  [Expand]DevExpress.ExpressApp.Model
  [Expand]DevExpress.ExpressApp.Model.Core
  [Expand]DevExpress.ExpressApp.Model.NodeGenerators
  [Expand]DevExpress.ExpressApp.ModelEditor
  [Expand]DevExpress.ExpressApp.Notifications
  [Expand]DevExpress.ExpressApp.Notifications.Web
  [Expand]DevExpress.ExpressApp.Notifications.Win
  [Expand]DevExpress.ExpressApp.PivotChart
  [Expand]DevExpress.ExpressApp.PivotChart.Web
  [Expand]DevExpress.ExpressApp.PivotChart.Win
  [Expand]DevExpress.ExpressApp.PivotGrid
  [Expand]DevExpress.ExpressApp.PivotGrid.Web
  [Expand]DevExpress.ExpressApp.PivotGrid.Win
  [Expand]DevExpress.ExpressApp.Reports
  [Expand]DevExpress.ExpressApp.Reports.Web
  [Expand]DevExpress.ExpressApp.Reports.Win
  [Expand]DevExpress.ExpressApp.ReportsV2
  [Expand]DevExpress.ExpressApp.ReportsV2.Web
  [Expand]DevExpress.ExpressApp.ReportsV2.Win
  [Expand]DevExpress.ExpressApp.Scheduler
  [Expand]DevExpress.ExpressApp.Scheduler.Web
  [Expand]DevExpress.ExpressApp.Scheduler.Win
  [Expand]DevExpress.ExpressApp.ScriptRecorder
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Web
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Win
  [Expand]DevExpress.ExpressApp.Security
  [Expand]DevExpress.ExpressApp.Security.Adapters
  [Expand]DevExpress.ExpressApp.Security.ClientServer.Wcf
  [Expand]DevExpress.ExpressApp.Security.EF.Adapters
  [Expand]DevExpress.ExpressApp.Security.Strategy
  [Expand]DevExpress.ExpressApp.Security.Xpo.Adapters
  [Expand]DevExpress.ExpressApp.StateMachine
  [Expand]DevExpress.ExpressApp.SystemModule
  [Expand]DevExpress.ExpressApp.Templates
  [Expand]DevExpress.ExpressApp.Templates.ActionContainers
  [Expand]DevExpress.ExpressApp.TreeListEditors
  [Expand]DevExpress.ExpressApp.TreeListEditors.Web
  [Expand]DevExpress.ExpressApp.TreeListEditors.Win
  [Expand]DevExpress.ExpressApp.Updating
  [Expand]DevExpress.ExpressApp.Utils
  [Expand]DevExpress.ExpressApp.Validation
  [Expand]DevExpress.ExpressApp.Validation.Web
  [Expand]DevExpress.ExpressApp.Validation.Win
  [Expand]DevExpress.ExpressApp.ViewVariantsModule
  [Expand]DevExpress.ExpressApp.Web
  [Expand]DevExpress.ExpressApp.Web.Controls
  [Expand]DevExpress.ExpressApp.Web.Editors
  [Expand]DevExpress.ExpressApp.Web.Editors.ASPx
  [Expand]DevExpress.ExpressApp.Web.SystemModule
  [Expand]DevExpress.ExpressApp.Web.Templates
  [Expand]DevExpress.ExpressApp.Web.Utils
  [Expand]DevExpress.ExpressApp.Win
  [Expand]DevExpress.ExpressApp.Win.Core
  [Expand]DevExpress.ExpressApp.Win.Editors
  [Expand]DevExpress.ExpressApp.Win.Model
  [Expand]DevExpress.ExpressApp.Win.SystemModule
  [Expand]DevExpress.ExpressApp.Win.Templates
  [Expand]DevExpress.ExpressApp.Win.Templates.Navigation
  [Expand]DevExpress.ExpressApp.Workflow
  [Expand]DevExpress.ExpressApp.Workflow.Win
  [Expand]DevExpress.ExpressApp.Xpo
  [Expand]DevExpress.ExpressApp.Xpo.Utils
  [Expand]DevExpress.Persistent.Base
  [Expand]DevExpress.Persistent.Base.General
  [Expand]DevExpress.Persistent.Base.ReportsV2
  [Expand]DevExpress.Persistent.Base.Security
  [Expand]DevExpress.Persistent.BaseImpl
  [Expand]DevExpress.Persistent.BaseImpl.EF
  [Expand]DevExpress.Persistent.BaseImpl.EF.PermissionPolicy
  [Expand]DevExpress.Persistent.BaseImpl.PermissionPolicy
  [Expand]DevExpress.Persistent.Validation
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
This documentation page describes implementations made in our v17.2 release cycle. To learn about functionality shipping with v18.1, navigate to our updated help file experience at docs.devexpress.com. Learn More

ListEditor.ContextMenuTemplate Property

Provides access to a List Editor's Context Menu Template.

Namespace:DevExpress.ExpressApp.Editors
Assembly:DevExpress.ExpressApp.v18.1.dll

Expanded Syntax

Property value

Type: IContextMenuTemplate
A control which implements the IContextMenuTemplate interface and represents a List Editor's Context Menu Template.

Expanded Remarks

A List Editor can have a context menu that contains a set of Actions:

The context menu can be represented by any control. However, to display Actions, it must implement the IContextMenuTemplate interface. This interface exposes the following members:

  • The IContextMenuTemplate.CreateActionItems method
    This method receives a list of Action Containers as a parameter. Each Action Container creates controls for the Actions that are mapped to it in the Application Model's ActionDesign | ActionToContainerMapping node.
  • The IContextMenuTemplate.BoundItemCreating event
    The event is raised when creating an Action in an Action Container. This event is used by the ActionsCriteriaViewController to determine the Action's availability in the current context. If the Action's availability conditions are satisfied, the ActionsCriteriaViewController sets the event argument's BoundItemCreatingEventArgs.Enabled property to true.

A control that implements the IContextMenuTemplate interface should be created in the List Editor's constructor, and assigned to the ContextMenuTemplate property.

The list of the Action Containers to be added to the List Editor's Context Menu Template is specified by the Template of the currently active Window or Frame. To change the Context Menu Template's list of Action Containers, modify the corresponding Template. For instance, the following code snippet demonstrates a part of the MainForm.Designer.cs file. The following lines specify the Action Containers for Context Menu Templates:

There are two ways to assign an Action to an Action Container:

  • The first way is to use an Action's ActionBase.Category property. This property specifies the Action Container to which the Action is assigned:

    If this property is not set, the Action is assigned to the Action Container used by default in a Template. Different Templates may have different default Action Containers. So, depending on the current Template, the Action may be displayed in different Action Containers.

  • The second way is to use the Model Editor. Each child node of the ActionToContainerMapping node corresponds to an Action Container and contains a list of Actions assigned to the Action Container. This list specifies all the Actions whose Category property holds the Action Container's name:

The following table lists built-in Context Menu Templates of the eXpressApp Framework:

NameDescription
ActionsDXPopupMenuUsed by the built-in Windows Forms List Editors. Represents a pop-up menu. Creates a pop-up menu item for each Action.
ASPxGridViewContextMenuUsed by the built-in ASPxGridListEditor. Creates an additional grid column for each Action.
ASPxSchedulerContextMenuUsed by the built-in SchedulerListEditor. Represents a pop-up menu. Creates a pop-up menu item for each Action.
DataGridContextMenuUsed by the built-in Web.Editors.Standard.GridListEditor. Creates an additional grid column for each Action.

When deriving from the ListEditor class, override the ContextMenuTemplate property to return the required Context Menu Template. To see an example of how to use this property, refer to the How to: Support a Context Menu for a Custom WinForms List Editor topic.

Expanded See Also

Is this topic helpful?​​​​​​​