A Bookmark refers to a location in the document and has a unique name, which identifies it. Every Bookmark has a corresponding BookmarkRangeStart and BookmarkRangeEnd, which are inline elements. These two elements specify the Bookmark's location as follows:
BookmarkRangeStart: Specifies the start of a bookmark annotation.
- BookmarkRangeEnd: Specifies the end of a bookmark annotation.
Example 1 shows how to create a Bookmark and add its BookmarkRangeStart and BookmarkRangeEnd elements in a Paragraph:
Example 1: Add а bookmark to а paragraph
Bookmark bookmark = new Bookmark(document, "MyBookmark"); paragraph.Inlines.Add(bookmark.BookmarkRangeStart); paragraph.Inlines.AddRun("text"); paragraph.Inlines.Add(bookmark.BookmarkRangeEnd);
Note, that the paragraph should belong to the same document that is passed to the constructor of the Bookmark object, otherwise an exception is thrown. The bookmark's location is specified around a run with text "text".
Inserting a Bookmark in the document can also be done with the RadFlowDocumentEditor class like shown in Example 2:
Example 2: Insert а bookmark using RadFlowDocumentEditor
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(new RadFlowDocument()); Bookmark bookmark = editor.InsertBookmark("MyBookmark");
The InsertBookmark() method from Example 2 creates a Bookmark with name "MyBookmark" and inserts one after another its BookmarkRangeStart and BookmarkRangeEnd elements.
You can remove an inserted Bookmark by using RadFlowDocumentEditor's DeleteBookmark() method. You can pass to the method the name of the Bookmark to remove, or the Bookmark itself.
Example 3 demonstrates how you can delete the bookmark created in Example 2.
Example 2: Delete bookmark using RadFlowDocumentEditor