问题
I have a simple flow document in my resources, FlowDocument1.xaml
:
<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
ColumnWidth="400" FontSize="14" FontFamily="Georgia">
<Paragraph>
Test
</Paragraph>
</FlowDocument>
And I want to show this document in a DocumentViewer
. I searched for a property that takes path but I couldn't find one. And the following throws an exception:
<DocumentViewer x:Name="TestViewer" Document="Resources/FlowDocument1.xaml" />
How can I show FlowDocument1.xaml
in a DocumentViewer
?
回答1:
First you cannot add a FlowDocument
to a DocumentViewer
because it only supports FixedDocument
. You may use FlowDocumentScrollViewer
or FlowDocumentPageViewer
instead.
<FlowDocumentScrollViewer x:Name="TestViewer"/>
Then you have to set the Document
property in code:
TestViewer.Document = Application.LoadComponent(
new Uri("/Resources/FlowDocument1.xaml", UriKind.Relative)) as FlowDocument;
回答2:
<Grid>
<Grid.Resources>
<FlowDocument x:Key="YourFlowDoc">
<Paragraph>
<TextBox Text="See it's Easy!"/>
</Paragraph>
</FlowDocument>
</Grid.Resources>
<FlowDocumentReader Document="{StaticResource YourFlowDoc}" />
</Grid>
来源:https://stackoverflow.com/questions/17995533/how-to-show-a-flow-document-using-a-documentviewer