`

以假乱真解决WebBrowser遮挡SL控件的问题

阅读更多

    查找了很多官网文档、资料、论坛,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 控件使用详解 #### 一、概述 `WebBrowser` 控件是一个功能强大的组件,用于在 Windows 应用程序中展示 HTML 内容。它可以用来浏览互联网上的网页,也可以用来显示本地的 HTML 文件或者自定义的文档...

    c#winform中完美代替WebBrowser最新的控件geckofx33支持flash例子demo

    经历了webbrowser 内存溢出 排版错误等各种问题 终于找到了一个解脱模式,就是使用firefox内核的现阶段代替webbrowser最好的控件了。 例子中包含了运行库 控件 代码调用演示 拿去可直接嵌入到你的工作项目中,vs...

    解决VS2010以上版本MFC与Webbrowser百度地图控件API调用及脚本问题

    适用于VS2010及以上版本,实现MFC/C++和百度地图控件Webbrowser相互调用问题,上传资源中解决odbccp32.lib报错问题,及脚本报错问题。具体开发可见百度SDK:https://lbsyun.baidu.com/index.php?title=jspopular

    WebBrowser控件的使用

    2. **线程问题**:`WebBrowser`控件的许多操作(如`Navigate()`)是异步的,若在非UI线程中操作,可能会引发异常。确保所有对`WebBrowser`的操作都在UI线程中进行,如使用`Invoke`或`BeginInvoke`方法。 3. **不...

    扩展WebBrowser控件

    标题“扩展WebBrowser控件”提示我们,这个压缩包可能包含了一种方法或解决方案,用于增强WebBrowser控件的功能,特别是在跟踪和控制新窗口打开时获取实际的URL。 WebBrowser控件默认的行为是当点击链接或执行其他...

    WebBrowser控件技巧集

    6. **安全性和隐私**:由于WebBrowser控件基于Internet Explorer引擎,因此需要注意它可能引发的安全问题。开发者应限制控件访问的URL,启用安全设置,并及时更新控件所依赖的IE版本,防止恶意代码攻击。 7. **禁用...

    net2010 WebBrowser浏览页控件事件本地处理

    4. **安全与隐私**:由于`WebBrowser`控件使用IE内核,开发者需要注意安全性和隐私问题。在本地处理事件时,应避免加载不信任的网页,防止恶意代码执行。此外,遵循沙盒原则,限制对敏感系统资源的访问。 三、示例...

    WebBrowser控件(delphi)

    WebBrowser控件在Delphi编程环境中是一个非常重要的组件,它允许开发者在应用程序中嵌入一个完整的Web浏览器功能。这个控件通常基于Internet Explorer的引擎,因此它可以显示HTML内容,执行JavaScript,以及支持许多...

    彻底解决webBrowser脚本错误问题

    真实解决webBrowser控件访问网址弹出脚本错误,互联网很多答案是关闭提示(同时网页也显示不正常),或者继承控件,代码写了大片,这些不是根本的解决办法,里面有几行解决代码和说明文档,其他开发语言同理;

    WebBrowser控件网上资料大全

    WebBrowser控件是Windows Forms和.NET Framework中一个强大的组件,用于在应用程序内嵌入Web浏览功能。这个控件允许开发者创建具有内置网页浏览能力的应用程序,用户可以直接在应用内部访问和交互网页,而无需打开...

    C#中WebBrowser控件的简单调用

    1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 ...

    最新C# wpf WebView2覆盖上层控件解决办法

    WebView2为WPF网页浏览工具,具有简单易用,页面显示清晰的优点。 但是,由于微软设计...本样例很好的解决了上述问题,实现界面的分层控制,能够正常显示顶层控件。 设计网页预览和桌面应用结合时,可以参考本代码。

    WPF解决透明窗体与WebBrowser不兼容问题

    为了解决这个问题,可以采用一种间接的方法来实现透明效果和 `WebBrowser` 控件的兼容性。本解决方案涉及创建一个新的 `FormsWebBrowser` 类,该类封装了一个 `WebBrowser` 控件,并将其置于一个隐藏的WinForms窗口...

    Winform测试WebBrowser控件对应的IE版本

    在.NET Framework中,WinForm应用程序经常使用WebBrowser控件来集成网页浏览功能。这个控件实际上是基于Internet Explorer的渲染引擎,因此它的行为和兼容性与用户的IE版本密切相关。本篇文章将详细探讨`WinForm测试...

    C#中WebBrowser控件的属性和方法

    在开发C#项目时用到的WebBrowser,文档中汇总了该控件的属性和方法实现。包含代码实现。属性方法不足的地方希望大家补充。

    VB代码使用WebBrowser控件作为容器打开Word文档

    WebBrowser控件通常用于浏览网页,但它也能加载ActiveX控件,如Word对象模型,从而在无须用户交互的情况下显示和操作Word文档。 首先,我们需要了解WebBrowser控件的基本用法。在VB项目中,可以从工具箱中将...

    vb6_Webbrowser控件使用技巧

    ### vb6_Webbrowser控件使用技巧 #### 一、获得浏览器信息 在Visual Basic 6.0中,可以通过Webbrowser控件获取浏览器的相关信息。具体实现方式如下: 1. **加载网页**: ```vb Private Sub Command1_Click() ...

    MFC中通过webbrowser控件操作网页。

    在Microsoft Foundation Classes (MFC)框架中,WebBrowser控件是一个强大的工具,它允许开发者在桌面应用程序中嵌入Web浏览器的功能。这个控件是基于Internet Explorer的ActiveX控件,因此,它可以执行大部分IE浏览...

    C# 从内存中获取webbrowser控件截图,可以后台或者隐藏窗体截图

    在C#编程中,WebBrowser控件是一个非常实用的组件,它允许开发者在应用程序中集成网页浏览功能。本文将深入探讨如何在C#中利用内存来获取WebBrowser控件的截图,实现后台或隐藏窗体的截图功能。这对于自动化测试、...

    visual Studio2017使用MFC & WebBrowser控件的实例

    平台:visual Studio 2017...描述:使用WebBrowser控件,做成一个简易的浏览器,可以进行最基础的网页浏览操作。通过此案例,可以学到基础的WebBrowser的操作,之后就可以在自己所做的程序中嵌入一些网站,丰富软件内容

Global site tag (gtag.js) - Google Analytics