This example shows how to customize the page content popup menu - remove specific items and add the “Save As…” item.
To do this, handle the PdfViewerControl.PopupMenuShowing event and use the PopupMenuShowingEventArgs.Actions property.
Imports System
Imports System.Collections.Generic
Imports System.Configuration
Imports System.Data
Imports System.Linq
Imports System.Threading.Tasks
Imports System.Windows
Namespace PopupMenuShowing
''' <summary>
''' Interaction logic for App.xaml
''' </summary>
Partial Public Class App
Inherits Application
End Class
End Namespace
Imports System.Windows
Imports DevExpress.Xpf.PdfViewer
Imports DevExpress.Xpf.Bars
Namespace PopupMenuShowing
Partial Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
' Load a document.
viewer.OpenDocument("..\..\Demo.pdf")
End Sub
Private Sub Viewer_PopupMenuShowing(ByVal d As DependencyObject, ByVal e As PopupMenuShowingEventArgs)
' Remove the Hand tool item from the page context popup menu.
Dim removeHandTool As New RemoveAction()
removeHandTool.ElementName = DefaultPdfBarManagerItemNames.HandTool
e.Actions.Add(removeHandTool)
' Remove the Select All item from the page context popup menu.
Dim removeSelectAll As New RemoveAction()
removeSelectAll.ElementName = DefaultPdfBarManagerItemNames.SelectAll
e.Actions.Add(removeSelectAll)
' Insert the "Save As..." item invoking the Save As dialog.
Dim barButtonItem As New BarButtonItem()
barButtonItem.Content = "Save As..."
barButtonItem.Command = viewer.SaveAsCommand
Dim insertBarButtonItem As New InsertAction()
insertBarButtonItem.ContainerName = DefaultPdfBarManagerItemNames.ContextMenu
insertBarButtonItem.Element = barButtonItem
e.Actions.Add(insertBarButtonItem)
End Sub
End Class
End Namespace
<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>
using System.Windows;
using DevExpress.Xpf.PdfViewer;
using DevExpress.Xpf.Bars;
namespace PopupMenuShowing {
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
// Load a document.
viewer.OpenDocument("..\\..\\Demo.pdf");
}
private void Viewer_PopupMenuShowing(DependencyObject d, PopupMenuShowingEventArgs e) {
// Remove the Hand tool item from the page context popup menu.
RemoveAction removeHandTool = new RemoveAction();
removeHandTool.ElementName = DefaultPdfBarManagerItemNames.HandTool;
e.Actions.Add(removeHandTool);
// Remove the Select All item from the page context popup menu.
RemoveAction removeSelectAll = new RemoveAction();
removeSelectAll.ElementName = DefaultPdfBarManagerItemNames.SelectAll;
e.Actions.Add(removeSelectAll);
// Insert the "Save As..." item invoking the Save As dialog.
BarButtonItem barButtonItem = new BarButtonItem();
barButtonItem.Content = "Save As...";
barButtonItem.Command = viewer.SaveAsCommand;
InsertAction insertBarButtonItem = new InsertAction();
insertBarButtonItem.ContainerName = DefaultPdfBarManagerItemNames.ContextMenu;
insertBarButtonItem.Element = barButtonItem;
e.Actions.Add(insertBarButtonItem);
}
}
}