ウィンドウの幅と高さ全体を埋めたい FlowDocument があります。FlowDocumentPageViewer(運が悪い)を使用してみましたが、現在は を使用していDocumentPageViewます。スペース全体をドッキング/埋めることはまだできません。作成できる最小サイズで、真ん中に座っているだけです(意味がありますか?)
これが私のコードです:
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このコードには 2 つのメソッドの組み合わせが含まれていますが、現在使用されているのは のみであることに注意してください。これは、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>
フォントのサイズを変更すると、コンテンツは垂直方向にのみサイズ変更されます (ストレッチ方向が両方に設定されていることに注意してください)。何か案は?