How to: Customize or Hide the Popup Menu

  • 3 min to read

The following code examples show how to customize or hide the context menu.

Customize the Popup Menu

You can customize pop-up menu in code or in XAML.

XAML

Use the CommandProvider.Actions (for Bar command UI) or CommandProvider.RibbonActions (for Ribbon command UI) property to access the collection of actions. Use RemoveAction, UpdateAction or InsertAction to customize DefaultPdfBarManagerItemNames items.

This example shows how to remove items and add the Save As… item to the pop-up menu:

<dxpdf:PdfViewerControl x:Name="pdfViewer"
                        ShowStartScreen="True"
                        CommandBarStyle="Ribbon">
    <dxpdf:PdfViewerControl.CommandProvider>
        <dxpdf:PdfCommandProvider>
            <dxpdf:PdfCommandProvider.RibbonActions>
                <!--Remove Hand Tool and Select All items-->
                <dxb:RemoveAction ElementName="{x:Static dxpdf:DefaultPdfBarManagerItemNames.HandTool}"/>
                <dxb:RemoveAction ElementName="{x:Static dxpdf:DefaultPdfBarManagerItemNames.SelectAll}"/>
                <!--Add new Save As item-->
                <dxb:InsertAction ContainerName="{x:Static dxpdf:DefaultPdfBarManagerItemNames.ContextMenu}">
                    <dxb:InsertAction.Element>
                    <dxb:BarButtonItem Content="Save" LargeGlyph="{dx:DXImage Image=SaveAs_16x16.png}"
                        Command="{Binding ElementName=pdfViewer, Path=SaveAsCommand}"/>
                            </dxb:InsertAction.Element>
                </dxb:InsertAction>
            </dxpdf:PdfCommandProvider.RibbonActions>
        </dxpdf:PdfCommandProvider>
    </dxpdf:PdfViewerControl.CommandProvider>
</dxpdf:PdfViewerControl>

Code

Handle the PdfViewerControl.PopupMenuShowing event to add, remove or update the context menu items.

This example shows how to remove items and add the "Save As…" item to the page content pop-up menu:

<Window
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:PopupMenuShowing"
        xmlns:dxpdf="http://schemas.devexpress.com/winfx/2008/xaml/pdf" x:Class="PopupMenuShowing.MainWindow"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <dxpdf:PdfViewerControl x:Name="viewer" PopupMenuShowing="Viewer_PopupMenuShowing"/>
    </Grid>
</Window>

Hide the Popup Menu

Set the PopupMenuShowingEventArgs.Cancel property to true in the PdfViewerControl.PopupMenuShowing event handler to disable the popup menu.


private void PdfViewer_PopupMenuShowing(DependencyObject d, DevExpress.Xpf.PdfViewer.PopupMenuShowingEventArgs e)
{
    e.Cancel = true;
}