2016-08-18 17 views
2

UWPアプリ内でWebViewのコンテンツを印刷したいと思います。UWP - print webview

私はHTML文字列を受け入れるように、私のWebViewを設定して、これが正常に動作します

<WebView 
     ext:HtmlExtension.HtmlString="{Binding HtmlString}" 
     x:Name="MyWebView" 
     Grid.Row="1" 
     Grid.Column="0" 
    /> 

私はMSDNにこのものの気づい:

UIオフコンテンツをホストするのWebViewをスレッドは、FlipView、ScrollViewer、およびその他の関連コントロールなど、WebViewコントロールから親にジェスチャを伝播する必要のある親コントロールとは互換性がありません。これらのコントロールは、オフスレッドWebViewで開始されたジェスチャを受け取ることができません。 さらに、オフスレッドのWebコンテンツの印刷は直接サポートされていません。代わりに、WebViewBrushで要素を印刷する必要があります。

今私は完全に混乱しています。私はWebViewのにこのWebViewBrush

すべてのヘルプは大歓迎ですを印刷する方法

  • を持って与えられ

    • がWebViewBrushを作成します。

      は、誰かが私ができる方法を説明していただけます。ありがとう。

  • +0

    ON-THREADダイレクトプリントはどうですか?それはサポートされるべきです。 –

    答えて

    3

    あなたはWebViewBrushを作成するには、次のコードを使用することができます。

    WebViewBrush wvBrush = new WebViewBrush(); 
    wvBrush.SetSource(myWebView); 
    wvBrush.Redraw(); 
    myRect.Fill = wvBrush; 
    

    XAML:

    <WebView Name="myWebView" Source="http://www.google.com" Width="1024" Height="500" LoadCompleted="myWebView_LoadCompleted"/> 
    <Rectangle Name="myRect" Width="1024" Height="500"/> 
    

    はその後のWebViewの静的コンテンツがちょうど絵のようRechtangleにレンダリングされます。代わりにRechtangleを印刷することができます。

    印刷するには、Print from your appまでお読みください。また、あなたが参照できる公式のサンプルがあります:UWP Print Sample

    +0

    こんにちは、お返事ありがとうございました。私は最後に、ブラシの働きを理解しましたが、私はまだ印刷作業をしていませんでした(リンクした印刷サンプルを試しましたが、サンプルが見えるので、ブラシがあるところで 'FrameworkElement' XAMLの 'Page'オブジェクトを出力する)。私は印刷の問題のメッセージをhttp://stackoverflow.com/questions/39033318/how-to-save-webviewbrush-as-image-uwp-universalに掲載しました。うまくいけば、あなたができるかもしれないいくつかの光を発する?ありがとう – b85411

    関連する問題