使WPF控制Web浏览器

Cip*_*her 6 c# browser wpf

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

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

WPF*_*-it 3

请先回答我这个问题

此 Web 浏览器控件是托管在的WPF Web BrowserControl 或Winformwebbrowser 控件吗WinFormHost

对于任何在其上显示动画的 WPF 控件,您是否探索过......

  1. 将控件放在Grid或中Canvas,然后放置一个拉伸的Border(其中有运行动画)作为网格/画布的最后一个子元素?
  2. Adorner通过不断改变绘图上下文来模拟动画?
  3. 动画透明Popup,其静态放置是在控件上完成的(绑定到控件的绝对左侧、顶部位置以及实际高度和宽度属性)?

尝试网络浏览器控制的透明弹出方法......

    <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>
Run Code Online (Sandbox Code Playgroud)

其中之一肯定适合您的情况。

  • 从技术上讲,WPF Web 浏览器控件是一个包装的 WinForms WebBrowser 控件,因此它在 WinForms 层中呈现,该层始终位于 WPF 层之上。因此,装饰器和弹出窗口将不起作用:( (4认同)