代码之家  ›  专栏  ›  技术社区  ›  Rover

WPF:InkCanvas+框架

  •  0
  • Rover  · 技术社区  · 16 年前

    我需要在html页面上画画。显示在框架元素中的页面。 问题是InkCanvas不能与Frame一起使用。 我试着插入文本块而不是画框。

    不起作用:

    <Frame Grid.Row="1" Source="http://google.com/"></Frame>
    <InkCanvas Grid.Row="1" x:Name="inkCanvas" Background="Transparent"></InkCanvas>
    

    工作:

    <TextBlock Grid.Row="1" Margin="10" Text="Some text"></TextBlock>
    <InkCanvas Grid.Row="1" x:Name="inkCanvas" Background="Transparent"></InkCanvas>
    
    1 回复  |  直到 16 年前
        1
  •  1
  •   bitbonk    15 年前

    "airspace proplem" 开始发挥作用。这基本上意味着没有任何WPF内容可以重叠AcitveX HWND。您可以通过将覆盖层包装到另一个HWND(例如,使用Winfows Forms和ElementHost)来部分解决这个问题。但是这个解决方案将不允许您在覆盖中具有透明度。

    WindowsFormsHost 主持会议 Windows Forms Browser Control 而不是使用框架。

    Chromium WPF Webbrowser Control 而不是帧控制,如果你能负担得起。它是基于 Awesomium 图书馆。不幸的是 free for non commercial use . 这是唯一的解决方案,允许您使用所有先进的WPF的好东西,如变换(旋转,倾斜等),位图效果或透明度等宽度的其他两个解决方案,你是一个固定的不透明矩形绑定。