# Wiring UI

`RadPdfViewer` provides commands and respective command descriptors that you can easily bind to when creating UI. They are available via the `CommandDescriptors` property of the control. This allows you to bind the command descriptors to any UI element that supports commanding, such as `Button`, `MenuItem`, `RadButton`, `RadMenuItem`, etc.

## Default Command descriptors

The commandDescriptors collection of RadPdfViewer is predefined with a set of default command descriptors. Each command descriptor corresponds to a specific command that the `RadPdfViewer` supports. These commands include actions such as opening a PDF document, navigating through pages, zooming in and out, and more.

> tip Each command descriptor provides a `Command` property that you can bind to the `Command` property of your UI element.

The CommandDescriptors object exposes the following command descriptors:

* `OpenCommandDescriptor`—Opens a PDF document in the viewer.
* `SaveAsCommandDescriptor`—Saves the current PDF document to a specified location.
* `PageUpCommandDescriptor`—Navigates to the previous page in the document.
* `PageDownCommandDescriptor`—Navigates to the next page in the document.
* `ZoomInCommandDescriptor`—Increases the zoom level of the document.
* `ZoomOutCommandDescriptor`—Decreases the zoom level of the document.
* `PrintCommandDescriptor`—Prints the current PDF document.
* `CopyCommandDescriptor`—Copies the selected text to the clipboard.
* `SelectAllCommandDescriptor`—Selects all text in the document.
* `MoveCaretLineDownCommandDescriptor`—Moves the caret down one line in the text.
* `MoveCaretLineUpCommandDescriptor`—Moves the caret up one line in the text.
* `MoveCaretToStartOfDocumentCommandDescriptor`—Moves the caret to the start of the document.
* `MoveCaretToEndOfDocumentCommandDescriptor`—Moves the caret to the end of the document.
* `MoveCaretToLineStartCommandDescriptor`—Moves the caret to the start of the current line.
* `MoveCaretToLineEndCommandDescriptor`—Moves the caret to the end of the current line.
* `MoveCaretToNextWordCommandDescriptor`—Moves the caret to the next word in the text.
* `MoveCaretToPreviousWordCommandDescriptor`—Moves the caret to the previous word in the text.
* `MoveCaretToNextCharacterCommandDescriptor`—Moves the caret to the next character in the text.
* `MoveCaretToPreviousCharacterCommandDescriptor`—Moves the caret to the previous character in the text.
* `ShowFindDialogCommandDescriptor`—Displays the find dialog for searching text in the document.
* `FitToWidthCommandDescriptor`—Adjusts the zoom level to fit the page width to the viewer.
* `FitToPageCommandDescriptor`—Adjusts the zoom level to fit the entire page to the viewer.
* `FindCommandDescriptor`—Finds the next occurrence of the specified text in the document.
* `FindPreviousCommandDescriptor`—Finds the previous occurrence of the specified text in the document.
* `RotateClockwiseCommandDescriptor`—Rotates the document 90 degrees clockwise.
* `RotateCounterClockwiseCommandDescriptor`—Rotates the document 90 degrees counter-clockwise.
* `SetFixedDocumentPagesPresenterCommandDescriptor`—Sets the document presenter to pages view mode.
* `SetFixedDocumentSinglePageViewPresenterCommandDescriptor`—Sets the document presenter to single page view mode.
* `FitToPageFixedDocumentSinglePageViewPresenterCommandDescriptor`—Adjusts the zoom to fit the page when in single page view mode.
* `FitToWidthFixedDocumentPagesPresenterCommandDescriptor`—Adjusts the zoom to fit the page width when in pages view mode.
* `ActivateBookmarkItemCommandDescriptor`—Activates a bookmark item and navigates to its destination or executes its action.
* `SyncCurrentBookmarkItemCommandDescriptor`—Synchronizes the current bookmark item with the viewer's current position.
* `ValidateSignaturesCommandDescriptor`—Validates all digital signatures in the document.
* `ShowSignaturePropertiesDialogCommandDescriptor`—Displays the properties dialog for a selected signature.
* `ShowSignSignatureDialogCommandDescriptor`—Displays the dialog for signing a signature field.
* `SignSignatureCommandDescriptor`—Signs a signature field in the document.
* `MoveDownCommandDescriptor`—Moves down in the document (moves caret down in text selection mode or scrolls down in pan mode).
* `MoveUpCommandDescriptor`—Moves up in the document (moves caret up in text selection mode or scrolls up in pan mode).
* `MoveRightCommandDescriptor`—Moves right in the document (moves caret right in text selection mode or scrolls right in pan mode).
* `MoveLeftCommandDescriptor`—Moves left in the document (moves caret left in text selection mode or scrolls left in pan mode).

> tip Find a runnable project showing RadPdfViewer in the [WPF Samples GitHub repository](https://github.com/telerik/xaml-sdk/tree/master/PdfViewer/FirstLook). The project is wired to work with `RadToolBar` and `RadContextMenu`. You can note how the DataContext of the toolbar is bound to the instance of RadPdfViewer on the same page.
