1

アプリケーションの画面上にある多数の WPF コントロール (データグリッド、グラフなど) を印刷しようとしていますが、再配置して他のテキストなどで補足する必要があります。

WPF FlowDocument または FixedDocument を使用することは、ドキュメントを作成して印刷する明白な方法のようですが、これを達成するのに苦労しています。

コントロールから VisualBrush を作成し、これを Rectangle の Fill として使用しようとしましたが、成功しませんでした (Rectangle はまったく表示されません)。

これを行うために FlowDocument/FixedDocument を使用したり、それがどのように達成されたかを示すサンプルコードを持っている人はいますか?

4

1 に答える 1

0

FlowDocument が印刷前にレンダリングされている場合 (たとえば、FlowDocumentReader でホストされている場合) は問題なく動作することがわかりました。

XAML

    xmlns:d3="http://research.microsoft.com/DynamicDataDisplay/1.0"

.

        <d3:ChartPlotter x:Name="plotter">
                <d3:Header TextBlock.FontSize="20">
                    Very simple chart
                </d3:Header>
            </d3:ChartPlotter>

.

            <FlowDocumentReader>
            <FlowDocument>
                <Paragraph>
                    <Run>Graph Header</Run>                        
                </Paragraph>
                <BlockUIContainer>
                    <Rectangle x:Name="GraphRectangle" Height="300"/>                            
                </BlockUIContainer>
            </FlowDocument>
        </FlowDocumentReader>

CS

    public MainWindow()
    {
        InitializeComponent();
        GraphRectangle.Fill = new VisualBrush(plotter);
    }
于 2010-10-05T20:05:47.073 に答える