Skip to main content

DxContextMenuItem.SubMenuTemplate Property

Specifies the template for the context menu item’s submenu.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v25.2.dll

NuGet Package: DevExpress.Blazor

Declaration

[Parameter]
public RenderFragment<IContextMenuItemInfo> SubMenuTemplate { get; set; }

Property Value

Type Description
RenderFragment<IContextMenuItemInfo>

The template content.

Remarks

The Context Menu component allows you to define templates for the layout and appearance of menu items and their elements. For additional information on templates for context menu items, refer to the following section: Context Menu - Item Templates.

The DxContextMenu.SubMenuTemplate property specifies the common template for submenus of all context menu items. The DxContextMenuItem.SubMenuTemplate property overrides the common submenu template for the current menu item. You can also use the SubMenuCssClass to define the appearance of Context Menu’s items.

The following example defines submenu templates for Text color and Background color menu items:

Context Menu Item Templates

<div class="demo-preventsel target-container" tabindex="0"
     @oncontextmenu="@OnContextMenu"
     @oncontextmenu:preventDefault
     @onkeydown="@OnKeyDown">
    <p class="d-inline-block text-center m-auto">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris sit amet metus vel nisi blandit tincidunt vel efficitur purus. Nunc nec turpis tempus, accumsan orci auctor, imperdiet mauris. Fusce id purus magna.</p>
</div>

<DxContextMenu @ref="@ContextMenu" PositionTarget="#section-Templates .target-container" SizeMode="Params.SizeMode">
    <Items>
        <DxContextMenuItem Text="Text color">
            <SubMenuTemplate>
                <DxColorPalette Value="@TextColor" ValueChanged="ChangeTextColor">
                    <Groups>
                        <DxColorPaletteGroup Header="Text color" Colors="DxColorPalettePresets.GetPalette(ColorPalettePresetType.Universal)" />
                        <DxColorPaletteGroup Colors="DxColorPalettePresets.GetPalette(ColorPalettePresetType.UniversalGradient)" />
                    </Groups>
                </DxColorPalette>
            </SubMenuTemplate>
        </DxContextMenuItem>
        <DxContextMenuItem Text="Background color">
            <SubMenuTemplate>
                <DxColorPalette Value="@BackgroundColor" ValueChanged="ChangeBackgroundColor">
                    <Groups>
                        <DxColorPaletteGroup Header="Background color" Colors="DxColorPalettePresets.GetPalette(ColorPalettePresetType.Universal)" />
                        <DxColorPaletteGroup Colors="DxColorPalettePresets.GetPalette(ColorPalettePresetType.UniversalGradient)" />
                    </Groups>
                </DxColorPalette>
            </SubMenuTemplate>
        </DxContextMenuItem>
        <DxContextMenuItem Text="Reset colors" Click="@ResetColors" BeginGroup="true"
                           Enabled="@(BackgroundColor != null || TextColor != null)"/>
    </Items>
</DxContextMenu>

Run Demo: Context Menu - Templates

See Also