WPF > Windows > Documents > TextRange
TextRange is a selection of content between two TextPointer positions.
Example
Extract the Text Content from a RichTextBox
TextRange textRange = new TextRange (richTB.Document.ContentStart, richTB.Document.ContentEnd);
WPF > Windows > Documents
WPF Documents contains types that support FixedDocument, FlowDocument and XPS document creation.
WPF > Documents > FlowDocumentPageViewer
FlowDocumentPageViewer shows content in a page at a time in view mode. It is fixed to a particular viewing mode.
Components:
Content Area
Toolbar
Page Navigation Controls
Zoom Controls
Search - The user can use the Ctr+F keyboard shortcut
Example:
< Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns: x ="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns: NumericTextBox ="clr-namespace:NumericTextBox;assembly=NumericTextBox" x : Class ="WpfApplication3.MainWindow"
Title="MainWindow" Height ="400" Width ="600">
< FlowDocumentPageViewer Margin ="10"
BorderBrush ="Black" BorderThickness ="1">
< FlowDocument
ColumnWidth ="400" IsOptimalParagraphEnabled ="True" IsHyphenationEnabled ="True">
< Section FontSize ="12">
< Paragraph >
< Bold > Paragraph bold </ Bold >
fdgfdgfdsggggggggggggg sgflkklgf
gf s fgiohiohiofhds gfd gfgoihiw4hrior3 fgreretretretre
rrtreretertrererererererererere
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
tttttttttttttttttttttttttttttttttttttyyyyyyyyyyyyyy
ytuyutyutyuytuytuuuuuuuuuuuuuuuuuuuuuuuu
uytuyuytutyutyutyutyuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
< Figure Width ="140" Height ="50" Background ="GhostWhite" HorizontalAnchor ="PageLeft" HorizontalOffset ="300" VerticalOffset ="20">
< Paragraph FontStyle ="Italic" TextAlignment ="Left" Background ="Beige" Foreground ="DarkGreen">
Figure is here
</ Paragraph >
</ Figure >
</ Paragraph >
</ Section >
< Section >
< Paragraph > Sales
< Floater HorizontalAlignment="Left">
< Table >
< Table.Resources >
<!-- Style for header/footer rows. -->
< Style x : Key ="headerFooterRowStyle" TargetType ="{ x : Type TableRowGroup }">
< Setter Property ="FontWeight" Value ="DemiBold"/>
< Setter Property ="FontSize" Value ="16"/>
< Setter Property ="Background" Value ="LightGray"/>
</ Style >
<!-- Style for data rows. -->
< Style x : Key ="dataRowStyle"
TargetType ="{ x : Type TableRowGroup }">
< Setter Property ="FontSize" Value ="12"/>
< Setter Property ="FontStyle" Value ="Italic"/>
</ Style >
</ Table.Resources >
< Table.Columns >
< TableColumn />
< TableColumn />
< TableColumn />
< TableColumn />
</ Table.Columns >
<!-- This TableRowGroup hosts a header row for the
table. -->
< TableRowGroup Style ="{ StaticResource
headerFooterRowStyle }">
< TableRow >
< TableCell />
< TableCell >
< Paragraph > Puma </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > Adidas </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > Nike </ Paragraph >
</ TableCell >
</ TableRow >
</ TableRowGroup >
<!-- This TableRowGroup hosts the main data rows for
the table. -->
< TableRowGroup Style ="{ StaticResource
dataRowStyle }">
< TableRow >
< TableCell >
< Paragraph Foreground ="Blue"> Blue </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 1 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 2 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 3 </ Paragraph >
</ TableCell >
</ TableRow >
< TableRow >
< TableCell >
< Paragraph Foreground ="Red"> Red </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 1 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 2 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 3 </ Paragraph >
</ TableCell >
</ TableRow >
< TableRow >
< TableCell >
< Paragraph Foreground ="Green"> Green </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 1 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 2 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 3 </ Paragraph >
</ TableCell >
</ TableRow >
</ TableRowGroup >
<!-- This TableRowGroup hosts a footer row for the
table. -->
< TableRowGroup Style ="{ StaticResource
headerFooterRowStyle }">
< TableRow >
< TableCell >
< Paragraph > Total </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 3 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 6 </ Paragraph >
</ TableCell >
< TableCell >
< Paragraph > 12 </ Paragraph >
</ TableCell >
</ TableRow >
</ TableRowGroup >
</ Table >
</ Floater >
</ Paragraph >
</ Section >
</ FlowDocument >
</ FlowDocumentPageViewer >
</ Window >