Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Collapse]WinForms Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Build an Application
 [Expand]Controls and Libraries
 [Expand]Common Features
  Get More Help
 [Collapse]API Reference
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.DocumentView.Controls
  [Expand]DevExpress.LookAndFeel
  [Expand]DevExpress.LookAndFeel.Helpers
  [Expand]DevExpress.Skins
  [Expand]DevExpress.Snap
  [Expand]DevExpress.Snap.API.Native
  [Expand]DevExpress.Snap.Core
  [Expand]DevExpress.Snap.Core.API
  [Expand]DevExpress.Snap.Core.Fields
  [Expand]DevExpress.Snap.Core.Forms
  [Expand]DevExpress.Snap.Core.Options
  [Expand]DevExpress.Snap.Core.Services
  [Expand]DevExpress.Snap.Extensions
  [Expand]DevExpress.Snap.Extensions.Localization
  [Expand]DevExpress.Snap.Localization
  [Expand]DevExpress.Snap.Options
  [Expand]DevExpress.Snap.Services
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Animation
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Drawing
  [Expand]DevExpress.Utils.Menu
  [Expand]DevExpress.Utils.Taskbar
  [Expand]DevExpress.Utils.Taskbar.Core
  [Expand]DevExpress.Utils.UI.Localization
  [Expand]DevExpress.Utils.VisualEffects
  [Expand]DevExpress.Utils.Win
  [Expand]DevExpress.XtraBars
  [Expand]DevExpress.XtraBars.Alerter
  [Expand]DevExpress.XtraBars.Docking
  [Expand]DevExpress.XtraBars.Docking2010
  [Expand]DevExpress.XtraBars.Docking2010.Customization
  [Expand]DevExpress.XtraBars.Docking2010.Views
  [Expand]DevExpress.XtraBars.Docking2010.Views.NativeMdi
  [Expand]DevExpress.XtraBars.Docking2010.Views.Tabbed
  [Expand]DevExpress.XtraBars.Docking2010.Views.Widget
  [Expand]DevExpress.XtraBars.Docking2010.Views.WindowsUI
  [Expand]DevExpress.XtraBars.Localization
  [Expand]DevExpress.XtraBars.Navigation
  [Expand]DevExpress.XtraBars.Ribbon
  [Expand]DevExpress.XtraBars.Ribbon.Gallery
  [Expand]DevExpress.XtraBars.Ribbon.ViewInfo
  [Expand]DevExpress.XtraBars.ToastNotifications
  [Expand]DevExpress.XtraBars.Utils
  [Expand]DevExpress.XtraBars.WinRTLiveTiles
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Designer
  [Expand]DevExpress.XtraCharts.Wizard
  [Expand]DevExpress.XtraDataLayout
  [Expand]DevExpress.XtraDiagram
  [Expand]DevExpress.XtraDiagram.Options
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.ButtonPanel
  [Expand]DevExpress.XtraEditors.Calendar
  [Expand]DevExpress.XtraEditors.Camera
  [Expand]DevExpress.XtraEditors.Container
  [Expand]DevExpress.XtraEditors.Controls
  [Expand]DevExpress.XtraEditors.CustomEditor
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraEditors.Filtering
  [Expand]DevExpress.XtraEditors.Mask
  [Expand]DevExpress.XtraEditors.Persistent
  [Expand]DevExpress.XtraEditors.Repository
  [Expand]DevExpress.XtraEditors.ViewInfo
  [Expand]DevExpress.XtraFilterEditor
  [Expand]DevExpress.XtraGauges.Presets.Styles
  [Expand]DevExpress.XtraGauges.Win
  [Expand]DevExpress.XtraGauges.Win.Base
  [Expand]DevExpress.XtraGauges.Win.Gauges.Circular
  [Expand]DevExpress.XtraGauges.Win.Gauges.Digital
  [Expand]DevExpress.XtraGauges.Win.Gauges.Linear
  [Expand]DevExpress.XtraGauges.Win.Gauges.State
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraGrid.Columns
  [Expand]DevExpress.XtraGrid.EditForm
  [Expand]DevExpress.XtraGrid.FilterEditor
  [Expand]DevExpress.XtraGrid.Localization
  [Expand]DevExpress.XtraGrid.Views.BandedGrid
  [Expand]DevExpress.XtraGrid.Views.BandedGrid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Base
  [Expand]DevExpress.XtraGrid.Views.Base.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Card
  [Expand]DevExpress.XtraGrid.Views.Card.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Grid
  [Expand]DevExpress.XtraGrid.Views.Grid.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Layout
  [Expand]DevExpress.XtraGrid.Views.Layout.Events
  [Expand]DevExpress.XtraGrid.Views.Layout.ViewInfo
  [Expand]DevExpress.XtraGrid.Views.Printing
  [Expand]DevExpress.XtraGrid.Views.Tile
  [Expand]DevExpress.XtraGrid.Views.WinExplorer
  [Expand]DevExpress.XtraGrid.WinExplorer
  [Expand]DevExpress.XtraLayout
  [Expand]DevExpress.XtraLayout.Customization
  [Expand]DevExpress.XtraLayout.HitInfo
  [Expand]DevExpress.XtraLayout.Localization
  [Expand]DevExpress.XtraLayout.Utils
  [Expand]DevExpress.XtraMap
  [Expand]DevExpress.XtraMap.Printing
  [Expand]DevExpress.XtraNavBar
  [Expand]DevExpress.XtraNavBar.ViewInfo
  [Collapse]DevExpress.XtraPdfViewer
   [Expand]IPdfViewerCommandFactoryService Interface
   [Expand]PdfCancelSaveOperationException Class
    PdfContentMarginMode Enumeration
   [Expand]PdfCurrentPageChangedEventArgs Class
    PdfCurrentPageChangedEventHandler Delegate
    PdfCursorMode Enumeration
   [Expand]PdfDocumentChangedEventArgs Class
    PdfDocumentChangedEventHandler Delegate
   [Expand]PdfDocumentClosingEventArgs Class
    PdfDocumentClosingEventHandler Delegate
   [Expand]PdfDocumentProperties Class
   [Expand]PdfFileAttachmentOpeningEventArgs Class
    PdfFileAttachmentOpeningEventHandler Delegate
   [Expand]PdfFindDialogOptions Structure
   [Expand]PdfFindDialogVisibilityChangedEventArgs Class
    PdfFindDialogVisibilityChangedEventHandler Delegate
   [Expand]PdfFormFieldValueChangedEventArgs Class
    PdfFormFieldValueChangedEventHandler Delegate
   [Expand]PdfFormFieldValueChangingEventArgs Class
    PdfFormFieldValueChangingEventHandler Delegate
    PdfNavigationPanePage Enumeration
    PdfNavigationPanePageVisibility Enumeration
   [Expand]PdfNavigationPaneSelectedPageChangedEventArgs Class
    PdfNavigationPaneSelectedPageChangedEventHandler Delegate
    PdfNavigationPaneVisibility Enumeration
   [Expand]PdfNavigationPaneVisibilityChangedEventArgs Class
    PdfNavigationPaneVisibilityChangedEventHandler Delegate
    PdfOutlineNodeTextSize Enumeration
   [Expand]PdfOutlineViewerSettings Class
   [Expand]PdfPageSetupDialogShowingEventArgs Class
    PdfPageSetupDialogShowingEventHandler Delegate
    PdfPopupMenuKind Enumeration
   [Expand]PdfPopupMenuShowingEventArgs Class
    PdfPopupMenuShowingEventHandler Delegate
   [Expand]PdfReferencedDocumentOpeningEventArgs Class
    PdfReferencedDocumentOpeningEventHandler Delegate
   [Expand]PdfScrollPositionChangedEventArgs Class
    PdfScrollPositionChangedEventHandler Delegate
   [Expand]PdfSelectionContent Structure
    PdfSelectionContentType Enumeration
   [Expand]PdfSelectionEventArgs Class
    PdfSelectionPerformedEventHandler Delegate
   [Expand]PdfUriOpeningEventArgs Class
    PdfUriOpeningEventHandler Delegate
   [Collapse]PdfViewer Class
     PdfViewer Members
     PdfViewer Constructor
    [Expand]PdfViewer Properties
    [Expand]PdfViewer Events
    [Collapse]PdfViewer Methods
      About Method
     [Collapse]AddService Method
       AddService(Type, ServiceCreatorCallback) Method
       AddService(Type, Object) Method
       AddService(Type, ServiceCreatorCallback, Boolean) Method
       AddService(Type, Object, Boolean) Method
      ClearSelection Method
      CloseDocument Method
      CopyToClipboard Method
      CreateBars Method
      CreateBitmap Method
      CreateRibbon Method
     [Expand]CreateTiff Method
      EnsureVisibility Method
     [Expand]FindText Method
      GetClientPoint Method
      GetContentInfo Method
     [Expand]GetDocumentPosition Method
      GetPageSize Method
      GetSelectionContent Method
      GetService<T> Method
     [Expand]HideFindDialog Method
      IsVisible Method
     [Expand]LoadDocument Method
     [Expand]Print Method
     [Expand]RemoveService Method
     [Expand]SaveDocument Method
      ScrollHorizontal Method
      ScrollVertical Method
     [Expand]Select Method
      SelectAllText Method
      ShowDocumentClosingWarning Method
     [Expand]ShowFindDialog Method
   [Expand]PdfZoomChangedEventArgs Class
    PdfZoomChangedEventHandler Delegate
    PdfZoomMode Enumeration
  [Expand]DevExpress.XtraPdfViewer.Commands
  [Expand]DevExpress.XtraPdfViewer.Localization
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.Control
  [Expand]DevExpress.XtraPrinting.Preview
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraRichEdit
  [Expand]DevExpress.XtraRichEdit.Commands
  [Expand]DevExpress.XtraRichEdit.Export
  [Expand]DevExpress.XtraRichEdit.Import
  [Expand]DevExpress.XtraRichEdit.Localization
  [Expand]DevExpress.XtraRichEdit.Menu
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Printing
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Reporting.UI
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Localization
  [Expand]DevExpress.XtraSplashForm
  [Expand]DevExpress.XtraSplashScreen
  [Expand]DevExpress.XtraSpreadsheet
  [Expand]DevExpress.XtraSpreadsheet.Services
  [Expand]DevExpress.XtraTab
  [Expand]DevExpress.XtraTab.Buttons
  [Expand]DevExpress.XtraTab.ViewInfo
  [Expand]DevExpress.XtraTabbedMdi
  [Expand]DevExpress.XtraToolbox
  [Expand]DevExpress.XtraTreeList
  [Expand]DevExpress.XtraTreeList.Columns
  [Expand]DevExpress.XtraTreeList.Data
  [Expand]DevExpress.XtraTreeList.Localization
  [Expand]DevExpress.XtraTreeList.Menu
  [Expand]DevExpress.XtraTreeList.Nodes
  [Expand]DevExpress.XtraTreeList.Nodes.Operations
  [Expand]DevExpress.XtraTreeList.StyleFormatConditions
  [Expand]DevExpress.XtraTreeMap
  [Expand]DevExpress.XtraVerticalGrid
  [Expand]DevExpress.XtraVerticalGrid.Events
  [Expand]DevExpress.XtraVerticalGrid.Localization
  [Expand]DevExpress.XtraVerticalGrid.Rows
  [Expand]DevExpress.XtraWaitForm
  [Expand]DevExpress.XtraWizard
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

PdfViewer.AddService(Type, Object, Boolean) Method

Adds the specified service to the service container.

Namespace:DevExpress.XtraPdfViewer
Assembly:DevExpress.XtraPdfViewer.v17.1.dll

Expanded Syntax

Parameters

serviceType
Type: Type
The type of service to add.
serviceInstance
Type: Object
An instance of the service type to add. This object must implement or inherit from the type indicated by the serviceType parameter.
promote
Type: Boolean
true, to promote this request to any parent service containers; otherwise, false.

Expanded Remarks

The PdfViewer implements System.IServiceProvider and System.ComponentModel.Design.IServiceContainer interfaces. In addition to providing services, it also provides a mechanism for adding and removing services. To obtain a service, call the GetService<T> method.

When a service is added, it can be added with instructions to promote it. When a service is promoted, it is added to any parent service container, on up, until the top of the service container tree is reached.

Expanded Example

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=T328206.

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 (e.g., a CustomNextPageCommand class), inherited from the command that you wish to replace (e.g., PdfNextPageCommand).
  • Override the required method of the command. The main functionality and command specifics are located in the Execute method.
  • Create a class (e.g., CustomPdfViewerCommandFactoryService) implementing 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.

Expanded See Also

How would you rate this topic?​​​​​​​