首页 / 知识
关于浏览器:WPF 3.5 WebBrowser控件和ZIndex
2023-04-16 14:13:00
WPF 3.5 WebBrowser control and ZIndex我试图弄清楚为什么该控件不支持ZIndex。 示例1-效果很好
示例2-不起作用
谢谢, 不幸的是,这是因为WebBrowser控件是Internet Explorer COM控件的package。这意味着它拥有自己的HWND,并且不允许WPF在其上绘制任何内容。它具有与在WPF中托管任何其他Win32或WinForms控件相同的限制。 MSDN具有有关WPF / Win32互操作的更多信息。 您遇到了一个常见的WPF陷阱,通常被称为"空域问题"。一个可能的解决方案是不使用WebBrowser控件,而要疯狂一些-即将嵌入式WebKit浏览器直接呈现到WPF。有两个软件包可以执行此操作; Awesomonium(商业)和Berkelium(开源)。这两个都有一个.NETpackage器。 您可以设置SetWindowRgn来隐藏重叠区域,如下所示:
我设法通过使用此结构来解决此问题,请检查每个元素中的属性配置:
您只需要管理扩展器以显示或隐藏您的内容,我将其用于菜单栏,我认为扩展器视情况是可选的。 查看结果的图片,您甚至可以将控件显示在WebBrowser的顶部,甚至还可以显示在主窗口之外: 我也遇到了这个问题。就我而言,我是将图像从一个面板拖到WebBrowser中,但是,当然,只要将图像移到浏览器中,它就会被隐藏。 当前正在研究以下解决方案: 此解决方案非常适合我的情况,但也许可以为您提供一些想法。 我解决了一个类似的问题,该问题是我在WPF应用程序中托管了一个第三方WinForms控件。我创建了一个WPF控件,该控件将WinForms控件呈现在内存中,然后将其绘制到位图。然后,在OnRender方法中使用DrawImage绘制呈现的内容。最后,我将鼠标事件从我的控件路由到了托管控件。对于网络浏览器,您还必须路由键盘事件。 我的情况相当简单-带有一些简单鼠标交互的图表。 Web浏览器控件可能还有其他我没有考虑的问题。无论如何,我希望对您有所帮助。 |
最新内容
相关内容
linux下命令行浏览器?
linux下命令行浏览器?,地址,传播,工具,网站,软件,发行,网址,首次,官网,系统,linux在命令符界面如何浏览网页1、linux系统下命令行访问网页是cu浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执linuxmv命令示例?
linuxmv命令示例?,名称,系统,文件,命令,目录,文件夹,不了,工作,管理,路径,在linux下用mv命令可以批量的移动文件吗linux下使用mv命令来移动文linux安装浏览器命令?
linux安装浏览器命令?,官网,系统,平台,网站,管理,设备,咨询,工具,官方网站,软件,linuxcentos浏览器在哪里1、linux安装google浏览器方法如下:启linux启动浏览器命令?
linux启动浏览器命令?,系统,情况,发行,不了,官网,环境,工具,传播,基础,软件,如何使用linux命令打开网页在命令符界面浏览网页可以使用lynx,linklinux默认浏览器命令?
linux默认浏览器命令?,环境,系统,发行,工程,工具,浏览器,软件,情况,网站,管理系统,如何在Linux环境下,使用Java打开默认浏览器退出firefox。删linux命令下载浏览器?
linux命令下载浏览器?,软件,系统,官网,网站,工具,名称,中心,密码,时间,设计,linux怎样安装google浏览器?1、打开linux虚拟机,启动火狐浏览器,在linux命令关浏览器?
linux命令关浏览器?,系统,工作,工具,咨询,信息,平台,官方网站,管理,数据,电脑,linux系统中如何关掉火狐浏览器的缓存,不想使用火狐浏览器的缓红帽linux命令和示例?
红帽linux命令和示例?,系统,软件,密码,工作,网络,命令,中心,地址,设备,官网,红帽子Linux如何用命令创建新用户?打开xshell软件,远程访问您的服Python文件操作步骤示例
Python文件操作步骤示例,异常,代码,信息,文件,设计,简介,通用,意外,中级,培训,我们来读取这样一个文本文件:song.txt,该文件的字符编码为utf-8python怎么打开浏览器
python怎么打开浏览器,培训,标准,网址,模块,以上,方法,更多,内容,python打开浏览器的三种方法1.通过导入os模块,调用startfile方法来打开浏