首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF: InkCanvas +框架

WPF: InkCanvas +框架
EN

Stack Overflow用户
提问于 2010-08-31 17:46:20
回答 1查看 1.3K关注 0票数 0

我需要在html页面上画图。在框架元素中显示的页面。问题是InkCanvas不能与Frame一起工作。我尝试插入TextBlock,而不是框架绘画作品。

不起作用:

代码语言:javascript
复制
<Frame Grid.Row="1" Source="http://google.com/"></Frame>
<InkCanvas Grid.Row="1" x:Name="inkCanvas" Background="Transparent"></InkCanvas>

工作:

代码语言:javascript
复制
<TextBlock Grid.Row="1" Margin="10" Text="Some text"></TextBlock>
<InkCanvas Grid.Row="1" x:Name="inkCanvas" Background="Transparent"></InkCanvas>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-31 17:52:55

当Frame控件导航到HTML内容时,Frame控件在内部实例化本机WebBrowser ActiveX控件。这涉及到HWND互操作。因此,"airspace proplem"开始发挥作用。这基本上意味着任何WPF内容都不能与AcitveX HWND重叠。您可以通过将覆盖包包装到另一个HWND中来部分解决此问题(例如,使用Winfows表单和ElementHost)。但此解决方案不允许您在覆盖中具有透明度。

您可以尝试的另一个技巧是使用WindowsFormsHost来托管Windows Forms Browser Control,而不是使用帧。

最后但并非最不重要的一点是,如果你负担得起,你可以使用Chromium WPF Webbrowser Control而不是框架控件。它基于Awesomium库。不幸的是,它只有free for non commercial use。这是唯一的解决方案,允许您使用所有高级的WPF好东西,如变换(旋转,倾斜等),位图效果或透明度等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3607847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档