查找了很多官网文档、资料、论坛,WebBrowser遮挡SL控件的问题一直没能很好的解决。
今天看到WebBrowser 和 WebBrowserBrush 控件
msdn文章,突发奇想,同时使用 WebBrowser 和 WebBrowserBrush来解决WebBrowser遮挡SL控件的问题。其结果恰恰是我们所预想的。
xaml代码:
<UserControl x:Class="SilverlightApplication14.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
>
<Grid x:Name="LayoutRoot" Background="White" MouseMove="LayoutRoot_MouseMove">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ComboBox Grid.Row="0" DropDownOpened="ComboBox_DropDownOpened" DropDownClosed="ComboBox_DropDownClosed" >
<ComboBoxItem Content="aaa"/>
<ComboBoxItem Content="aaa"/>
<ComboBoxItem Content="aaa"/>
</ComboBox>
<WebBrowser Grid.Row="1" Name="WB1" Source="http://www.google.com.hk" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
<Rectangle x:Name="rect" Grid.Row="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Visibility="Collapsed">
<Rectangle.Fill>
<WebBrowserBrush SourceName="WB1" Opacity="1" x:Name="WBB1"/>
</Rectangle.Fill>
</Rectangle>
</Grid>
</UserControl>
xaml.cs代码:
using System;
using System.Windows.Controls;
using System.Windows.Input;
namespace SilverlightApplication14
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
}
private void LayoutRoot_MouseMove(object sender, MouseEventArgs e)
{
WBB1.Redraw();
}
private void ComboBox_DropDownOpened(object sender, EventArgs e)
{
WB1.Visibility = System.Windows.Visibility.Collapsed;
rect.Visibility = System.Windows.Visibility.Visible;
}
private void ComboBox_DropDownClosed(object sender, EventArgs e)
{
WB1.Visibility = System.Windows.Visibility.Visible;
rect.Visibility = System.Windows.Visibility.Collapsed;
}
}
}
截图如下:


- 大小: 106.2 KB
分享到:
相关推荐
### WebBrowser 控件使用详解 #### 一、概述 `WebBrowser` 控件是一个功能强大的组件,用于在 Windows 应用程序中展示 HTML 内容。它可以用来浏览互联网上的网页,也可以用来显示本地的 HTML 文件或者自定义的文档...
经历了webbrowser 内存溢出 排版错误等各种问题 终于找到了一个解脱模式,就是使用firefox内核的现阶段代替webbrowser最好的控件了。 例子中包含了运行库 控件 代码调用演示 拿去可直接嵌入到你的工作项目中,vs...
适用于VS2010及以上版本,实现MFC/C++和百度地图控件Webbrowser相互调用问题,上传资源中解决odbccp32.lib报错问题,及脚本报错问题。具体开发可见百度SDK:https://lbsyun.baidu.com/index.php?title=jspopular
2. **线程问题**:`WebBrowser`控件的许多操作(如`Navigate()`)是异步的,若在非UI线程中操作,可能会引发异常。确保所有对`WebBrowser`的操作都在UI线程中进行,如使用`Invoke`或`BeginInvoke`方法。 3. **不...
标题“扩展WebBrowser控件”提示我们,这个压缩包可能包含了一种方法或解决方案,用于增强WebBrowser控件的功能,特别是在跟踪和控制新窗口打开时获取实际的URL。 WebBrowser控件默认的行为是当点击链接或执行其他...
6. **安全性和隐私**:由于WebBrowser控件基于Internet Explorer引擎,因此需要注意它可能引发的安全问题。开发者应限制控件访问的URL,启用安全设置,并及时更新控件所依赖的IE版本,防止恶意代码攻击。 7. **禁用...
4. **安全与隐私**:由于`WebBrowser`控件使用IE内核,开发者需要注意安全性和隐私问题。在本地处理事件时,应避免加载不信任的网页,防止恶意代码执行。此外,遵循沙盒原则,限制对敏感系统资源的访问。 三、示例...
WebBrowser控件在Delphi编程环境中是一个非常重要的组件,它允许开发者在应用程序中嵌入一个完整的Web浏览器功能。这个控件通常基于Internet Explorer的引擎,因此它可以显示HTML内容,执行JavaScript,以及支持许多...
真实解决webBrowser控件访问网址弹出脚本错误,互联网很多答案是关闭提示(同时网页也显示不正常),或者继承控件,代码写了大片,这些不是根本的解决办法,里面有几行解决代码和说明文档,其他开发语言同理;
WebBrowser控件是Windows Forms和.NET Framework中一个强大的组件,用于在应用程序内嵌入Web浏览功能。这个控件允许开发者创建具有内置网页浏览能力的应用程序,用户可以直接在应用内部访问和交互网页,而无需打开...
1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 ...
WebView2为WPF网页浏览工具,具有简单易用,页面显示清晰的优点。 但是,由于微软设计...本样例很好的解决了上述问题,实现界面的分层控制,能够正常显示顶层控件。 设计网页预览和桌面应用结合时,可以参考本代码。
为了解决这个问题,可以采用一种间接的方法来实现透明效果和 `WebBrowser` 控件的兼容性。本解决方案涉及创建一个新的 `FormsWebBrowser` 类,该类封装了一个 `WebBrowser` 控件,并将其置于一个隐藏的WinForms窗口...
在.NET Framework中,WinForm应用程序经常使用WebBrowser控件来集成网页浏览功能。这个控件实际上是基于Internet Explorer的渲染引擎,因此它的行为和兼容性与用户的IE版本密切相关。本篇文章将详细探讨`WinForm测试...
在开发C#项目时用到的WebBrowser,文档中汇总了该控件的属性和方法实现。包含代码实现。属性方法不足的地方希望大家补充。
WebBrowser控件通常用于浏览网页,但它也能加载ActiveX控件,如Word对象模型,从而在无须用户交互的情况下显示和操作Word文档。 首先,我们需要了解WebBrowser控件的基本用法。在VB项目中,可以从工具箱中将...
### vb6_Webbrowser控件使用技巧 #### 一、获得浏览器信息 在Visual Basic 6.0中,可以通过Webbrowser控件获取浏览器的相关信息。具体实现方式如下: 1. **加载网页**: ```vb Private Sub Command1_Click() ...
在Microsoft Foundation Classes (MFC)框架中,WebBrowser控件是一个强大的工具,它允许开发者在桌面应用程序中嵌入Web浏览器的功能。这个控件是基于Internet Explorer的ActiveX控件,因此,它可以执行大部分IE浏览...
在C#编程中,WebBrowser控件是一个非常实用的组件,它允许开发者在应用程序中集成网页浏览功能。本文将深入探讨如何在C#中利用内存来获取WebBrowser控件的截图,实现后台或隐藏窗体的截图功能。这对于自动化测试、...
平台:visual Studio 2017...描述:使用WebBrowser控件,做成一个简易的浏览器,可以进行最基础的网页浏览操作。通过此案例,可以学到基础的WebBrowser的操作,之后就可以在自己所做的程序中嵌入一些网站,丰富软件内容