私は自分のウィンドウの幅と高さ全体を埋める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;
}
このコードは私の2つの方法を組み合わせが含まれていることに注意が、してくださいを現在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