IPdfViewerCommandFactoryService Interface
A service which is used to create PDF Viewer commands.
Namespace: DevExpress.XtraPdfViewer
Assembly: DevExpress.XtraPdfViewer.v26.1.dll
Declaration
Remarks
All commands in the PdfViewer are created using the command factory service. You can substitute the default command factory service with its descendant, designed to create a custom command instead of the default command. Subsequently, the specified custom command is used in all PDF Viewer operations instead of the original command.
Example
This example shows how to modify the functionality of an existing PdfViewer command.
The PdfViewer exposes the IPdfViewerCommandFactoryService interface that enables you to substitute the default command with your own custom command.
To accomplish this task:
- Create a custom command class (for example, a CustomNextPageCommand class), inherited from the command that you wish to replace (for example, PdfNextPageCommand).
- Override the required method of the command. The main functionality and command specifics are located in the Execute method.
- Create a class (for example, CustomPdfViewerCommandFactoryService) that implements the
IPdfViewerCommandFactoryService. You should override the IPdfViewerCommandFactoryService.CreateCommand method to create an instance of a custom command class if an identifier of a certain command is passed as a parameter. So, instead of the default command, a custom command will be used by the PdfViewer. - Use the created class to substitute for the default PdfViewer’s service.
using DevExpress.XtraPdfViewer;
using System;
using System.Windows.Forms;
namespace ViewerCustomCommand {
public partial class Form1 : Form {
void ReplacePdfViewerCommandFactoryService(PdfViewer control) {
IPdfViewerCommandFactoryService service = control.GetService<IPdfViewerCommandFactoryService>();
if (service == null)
return;
control.RemoveService(typeof(IPdfViewerCommandFactoryService));
control.AddService(typeof(IPdfViewerCommandFactoryService), new CustomPdfViewerCommandFactoryService(control,service));
}
public Form1() {
InitializeComponent();
pdfViewer1.LoadDocument("..\\..\\Demo.pdf");
ReplacePdfViewerCommandFactoryService(pdfViewer1);
}
}
}
Imports DevExpress.XtraPdfViewer
Imports System
Imports System.Windows.Forms
Namespace ViewerCustomCommand
Partial Public Class Form1
Inherits Form
Private Sub ReplacePdfViewerCommandFactoryService(ByVal control As PdfViewer)
Dim service As IPdfViewerCommandFactoryService = control.GetService(Of IPdfViewerCommandFactoryService)()
If service Is Nothing Then
Return
End If
control.RemoveService(GetType(IPdfViewerCommandFactoryService))
control.AddService(GetType(IPdfViewerCommandFactoryService), New CustomPdfViewerCommandFactoryService(control,service))
End Sub
Public Sub New()
InitializeComponent()
pdfViewer1.LoadDocument("..\..\Demo.pdf")
ReplacePdfViewerCommandFactoryService(pdfViewer1)
End Sub
End Class
End Namespace
See Also