我有一个FlowDocument,我想填充我的窗口的整个宽度和高度。我曾尝试使用FlowDocumentPageViewer
(不幸),现在正在使用DocumentPageView
。我仍然无法让它停靠/填满整个空间;它只是坐在中间,在最小尺寸就可以创建(是否有意义?)Flowdocument没有使用全宽/高
这里是我的代码:
public DocumentPageView GetPage()
{
FlowDocumentPageViewer viewer = new FlowDocumentPageViewer();
StreamReader reader = new StreamReader(location);
string data = reader.ReadToEnd();
reader.Close();
string xamlData = HtmlToXamlConverter.ConvertHtmlToXaml(data, true);
FlowDocument result = (FlowDocument)System.Windows.Markup.XamlReader.Load(new MemoryStream(System.Text.UnicodeEncoding.Default.GetBytes(xamlData)));
viewer.Document = result;
viewer.VerticalAlignment = VerticalAlignment.Center;
viewer.HorizontalAlignment = HorizontalAlignment.Center;
DocumentPageView pageView = new DocumentPageView();
pageView.VerticalAlignment = VerticalAlignment.Center;
pageView.HorizontalAlignment = HorizontalAlignment.Center;
pageView.Stretch = System.Windows.Media.Stretch.Uniform;
pageView.PageNumber = 0;
pageView.StretchDirection = StretchDirection.Both;
pageView.DocumentPaginator = ((IDocumentPaginatorSource)result).DocumentPaginator;
return pageView;
}
请注意,该代码包含我的两个相结合的方法,但目前仅使用DocumentPageView
。这是从我的HTML源创建XAML中:
<FlowDocument xml:space="preserve" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Paragraph TextAlignment="center" FontSize="22pt" FontFamily="arial">Test Paragraph</Paragraph>
<Paragraph TextAlignment="center" FontFamily="arial">Test second paragraph</Paragraph>
</FlowDocument>
如果我调整字体的内容仅在垂直方向调整(请注意,拉伸方向设定为两个)。有任何想法吗?
使用预置做到这一点[这里](http://stackoverflow.com/a/11584307/61577) – cleftheris 2012-07-20 17:41:08