Skip to main content

Menu & Menu Item Extensions

D365 F&O supports extensions for both menus and menu items, allowing customisation of navigation without modifying base objects.

A Menu Extension (AxMenuExtension) modifies an existing menu by adding new menu items, submenus, or modifying properties on existing elements.

What Can Be Extended

CapabilityDescription
Add Menu ElementsAdd new menu items, submenus, or separators to the menu.
Modify Existing ElementsChange properties on existing menu elements via MenuElementModifications.
Add CustomisationsAdd custom menu elements.
Modify PropertiesChange top-level menu properties via PropertyModifications.

Extension Element Positioning

Each new element specifies its position within the menu:

PropertyTypeDescription
ParentStringThe existing submenu or menu to add the element into.
PreviousSiblingStringThe element after which to place the new item.
PositionTypeExtensionItemPositionTypeValues: Begin (0), End (1), AfterItem (2).

Menu item extensions (AxMenuItemDisplayExtension, AxMenuItemActionExtension, AxMenuItemOutputExtension) allow property modifications on existing menu items — for example, changing the Label, HelpText, or ConfigurationKey.

All three menu item types (Display, Action, Output) share the same extension model inherited from AxMenuItemExtension.

What Can Be Extended

CapabilityDescription
Modify PropertiesChange property values via PropertyModifications (Label, HelpText, ConfigurationKey, etc.).
note

Menu item extensions are limited to property modifications only. You cannot change the underlying form/class target of a menu item through an extension.


Properties

8/8 properties
PropertyDisplay NameTypeDescription
Menu ExtensionAxMenuExtension
NameNameStringThe name of the extension element (follows BaseMenu.Package naming).
IsObsoleteIs ObsoleteNoYesWhether the extension is deprecated. Values: No (0), Yes (1).
VisibilityVisibilityCompilerVisibilityAccess level visibility. Values: Private (0), Protected (1), Public (2), Internal (3), InternalProtected (4).
TagsTagsStringTags for this element separated by semicolon.
Menu Item ExtensionAxMenuItemExtension
NameNameStringThe name of the menu item extension (follows BaseMenuItem.Package naming).
IsObsoleteIs ObsoleteNoYesWhether the extension is deprecated. Values: No (0), Yes (1).
VisibilityVisibilityCompilerVisibilityAccess level visibility. Values: Private (0), Protected (1), Public (2), Internal (3), InternalProtected (4).
TagsTagsStringTags for this element separated by semicolon.