我想在 UWP 应用程序中打印 WebView 内容。
我已将 WebView 设置为接受 HTML 字符串,这很好用:
<WebView
ext:HtmlExtension.HtmlString="{Binding HtmlString}"
x:Name="MyWebView"
Grid.Row="1"
Grid.Column="0"
/>
Run Code Online (Sandbox Code Playgroud)
我在MSDN上注意到了这一点:
在 UI 线程之外托管内容的 WebView 与需要手势从 WebView 控件向上传播到父控件的父控件(例如 FlipView、ScrollViewer 和其他相关控件)不兼容。这些控件将无法接收在线程外 WebView 中启动的手势。此外,不直接支持打印线程外 Web 内容——您应该打印带有 WebViewBrush 填充的元素。
现在我完全糊涂了。
有人可以解释我如何:
任何帮助是极大的赞赏。谢谢。
您可以使用以下代码创建WebViewBrush:
WebViewBrush wvBrush = new WebViewBrush();
wvBrush.SetSource(myWebView);
wvBrush.Redraw();
myRect.Fill = wvBrush;
Run Code Online (Sandbox Code Playgroud)
XAML:
<WebView Name="myWebView" Source="http://www.google.com" Width="1024" Height="500" LoadCompleted="myWebView_LoadCompleted"/>
<Rectangle Name="myRect" Width="1024" Height="500"/>
Run Code Online (Sandbox Code Playgroud)
然后webview的静态内容会Rechtangle
像图片一样渲染成。你可以打印出来Rechtangle
。
对于打印,我建议您阅读应用程序中的 Print。并且还有官方的样例供大家参考:UWP Print Sample。
归档时间: |
|
查看次数: |
2622 次 |
最近记录: |