Create a new annotation tool in our viewer toolbar
The main differentiator between built-in toolbar items and user-defined ones is the Id
, which is used to explicitly identify the latter. You can add one of the built-in types or a custom toolbar item of CustomAnnotationToolbarItem
type to the annotation toolbar. All these types are subclasses of AnnotationToolbarItems
:
using static PSPDFKit.Sdk.Models.Toolbar.AnnotationToolbarItems; ... var toolbarItem = new CustomAnnotationToolbarItem("customItemId") { Icon = "newIcon.svg", Tooltip = "My button" }; toolbarItem.Clicked += (s, e) => Debug.WriteLine("My toolbar item clicked");
When the Icon
for a button is missing, the Tooltip
will instead be displayed as Button.Text
. This is useful if you want to create text-only buttons.
A Clicked
event is invoked when a button is either clicked or tapped (on touch devices).
Once the custom button is ready, it’s possible to insert it into the current list of any annotation type:
PSPDFKitController.AnnotationToolbar.ToolbarItems[AnnotationType.Ink].Add(toolbarItem);
Toolbar layout and the spacer item
The items list is rendered as a flat list of sibling elements that are separated by a special toolbar item called SpacerAnnotationToolbarItem
. This solution makes the toolbar layout flexible and easy to customize.
SpacerAnnotationToolbarItem
is an empty element, and it pushes items from both sides together, making them more compact. You can insert as many spacer items as you want.