Creating a custom toolbar for C1PdfViewer is very simple. All buttons in the default toolbar have a corresponding Command in the control, so you can create a custom toolbar using only XAML. Here is some sample code using C1Toolbar to create a C1PdfViewer toolbar:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<c1:C1ToolbarStrip>
<c1:C1ToolbarButton
Content="First"
Command="{Binding FirstPageCommand,ElementName=PdfViewer}" />
<c1:C1ToolbarButton
Content="Previous"
Command="{Binding PreviousPageCommand,ElementName=PdfViewer}" />
<ContentPresenter
Content="{Binding PageNumber,ElementName=PdfViewer}" />
<TextBlock Text="/"/>
<ContentPresenter
Content="{Binding PageCount,ElementName=PdfViewer}" />
<c1:C1ToolbarButton
Content="Next"
Command="{Binding NextPageCommand,ElementName=PdfViewer}" />
<c1:C1ToolbarButton
Content="Last"
Command="{Binding LastPageCommand,ElementName=PdfViewer}" />
<ComboBox
SelectedItem="{Binding Zoom,ElementName=PdfViewer,Mode=TwoWay}">
<sys:Double>0.5</sys:Double>
<sys:Double>1</sys:Double>
<sys:Double>1.5</sys:Double>
</ComboBox>
</c1:C1ToolbarStrip>
<c1:C1PdfViewer
x:Name="PdfViewer"
Grid.Row="1"
ToolbarVisibility="Collapsed"/>
</Grid>
Note how all buttons bind the Command property to a command in C1PdfViewer. Also, you can easily bind to the PageNumber and PageCount properties to display the current page and total number of pages. Finally, a ComboBox is bound to the Zoom property allowing the user to control the zoom factor.
Several additional buttons can be customized using various commands. This is the list of commands:
Command | Description |
SaveCommand | Saves the document. |
PrintCommand | Prints the document. |
FirstPageCommand | Navigates to the first page in the document. |
PreviousPageCommand | Navigates to the previous page in the document. |
NextPageCommand | Navigates to the next page in the document. |
LastPageCommand | Navigates to the last page in the document. |
DecreaseZoomCommand | Zooms out of the document. |
IncreaseZoomCommand | Zooms into the document. |
FindPreviousCommand | Finds the previous instance of the searched text. |
FindNextCommand | Finds the next instance of the searched text. |
C1PdfViewerToolbar's template also expects ToggleButtons with the following names:
Option | Description |
FitWidth | Fits the width of the document to the size of the control. |
OnePage | Displays one page. |
TwoPages | Displays two pages side-by-side. |
|
|
To use one of these ToggleButtons, for example TwoPages, inside a custom toolbar scenario, you would need to put the TwoPages ToggleButton inside the C1ReportViewer template. If you are making your own toolbar outside of the control, add a Button and set C1ReportViewer.ViewMode = ViewMode.TwoPages in the click handler.