繁体   English   中英

使WPF控制Web浏览器

[英]Make WPF control over the web browser

我有一个WPF应用程序,我有一个嵌入式Web浏览器控件。 我想在特定时间通过Web浏览器显示动画,但问题是WPF控件在保持在Web浏览器上时是不可见的。

有没有办法让我的用户控制Web浏览器?

请先回答我,

这是Web浏览器控制WPF Web Browser控制或Winform在托管WebBrowser控件WinFormHost

对于任何WPF控件来显示动画,你是否探索过...

  1. 将控件放在GridCanvas ,然后将拉伸的Border (其中包含运行的动画)放置为grid / canvas的最后一个子节点?
  2. Adorner不断改变绘图环境以模拟动画?
  3. 带有动画的透明Popup ,其静态放置是否完成(绑定到控件的绝对左侧,顶部位置和实际高度和宽度属性)在控件上?

尝试使用透明弹出窗口进行Web浏览器控制...

    <Grid>
        <WebBrowser x:Name="WebBrowser1"/> 
        <Popup IsOpen="{Binding StartAninmation}"
              AllowsTransparency="True"
              Grid.RowSpan="99"
              Grid.ColumnSpan="99"
              Placement="Center"
              Width="{Binding ActualWidth,
                              ElementName=WebBrowser1,
                              Mode=OneWay}"
              Height="{Binding ActualHeight, 
                               ElementName=WebBrowser1,
                               Mode=OneWay}"
              PlacementTarget="{Binding ElementName=WebBrowser1}"
              Opacity="0.5"
              Margin="3">
           <TextBlock Text="Loading ..."/>
       </Popup>
 </Grid>

其中一个肯定会适用于您的情况。

不幸的是,由于操作系统呈现WinForms和WPF内容的顺序,WPF Webbrowser Control(基本上是一个包装的WinForms WebBrowser控件)是不可能的。

另请参阅: 有没有办法在wpf WebBrowser控件之上呈现WPF控件?

有一个第三方应用程序Awsomium应该使它成为可能。

编辑:另一种可能性是在WebBrowser控件上方渲染无框窗口。 但是将它保持在正确的位置/ z顺序有点棘手。

CefSharp提供基于Chromium / V8的纯WPF浏览器控件,不受Microsoft WebBrowser控件的空域问题的影响(免责声明:我是CefSharp的维护者)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM