<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:a="clr-namespace:System.Windows.Annotations;assembly=PresentationFramework" Title="Flow Document Reader + Annotations" x:Class="Window1" Initialized="OnInitialized" Closed="OnClosed"> <StackPanel> <StackPanel Orientation="Horizontal"> <Label>Control Annotations:</Label> <Button Command="a:AnnotationService.CreateTextStickyNoteCommand" CommandTarget="{Binding ElementName=reader}">Create Text Note</Button> <Button Command="a:AnnotationService.CreateInkStickyNoteCommand" CommandTarget="{Binding ElementName=reader}"> Create Ink Note </Button> <Button Command="a:AnnotationService.DeleteStickyNotesCommand" CommandTarget="{Binding ElementName=reader}"> Remove Note </Button> <Button Command="a:AnnotationService.CreateHighlightCommand" CommandTarget="{Binding ElementName=reader}"> Create Yellow Highlight </Button> <Button Command="a:AnnotationService.ClearHighlightsCommand" CommandTarget="{Binding ElementName=reader}"> Remove Highlight </Button> </StackPanel> <FlowDocumentReader x:Name="reader"> <FlowDocument> <Paragraph FontSize="22" FontWeight="Bold">Chapter 1</Paragraph> <Paragraph FontSize="35" FontWeight="Bold">Why WPF?</Paragraph> <Paragraph> this is a test this is a test this is a test this is a test this is a test this is a test this is a test </Paragraph> <Paragraph> this is a test this is a test this is a test this is a test this is a test this is a test this is a test this is a test </Paragraph> <Paragraph> this is another test </Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> <Paragraph>...</Paragraph> </FlowDocument> </FlowDocumentReader> </StackPanel> </Window> //File:Window.xaml.cs using System; using System.IO; using System.Windows; using System.Windows.Annotations; using System.Windows.Annotations.Storage; public partial class Window1 : Window { Stream stream; public Window1() { InitializeComponent(); } protected void OnInitialized(object sender, EventArgs e) { AnnotationService service = AnnotationService.GetService(reader); if (service == null) { stream = new FileStream("storage.xml", FileMode.OpenOrCreate); service = new AnnotationService(reader); AnnotationStore store = new XmlStreamStore(stream); service.Enable(store); } } protected void OnClosed(object sender, EventArgs e) { AnnotationService service = AnnotationService.GetService(reader); if (service != null && service.IsEnabled) { service.Store.Flush(); service.Disable(); stream.Close(); } } }