国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

解決WPF中空域問題(Airspace issuse)

2024-07-10 12:49:13
字體:
供稿:網(wǎng)友

空域問題是由于Winform與WPF在底層渲染機(jī)制上有所區(qū)別而導(dǎo)致的。多數(shù)情況下,開發(fā)者為了實(shí)現(xiàn)不規(guī)則的窗體并承載Winform控件時(shí),遇到此類問題。當(dāng)WPF窗體設(shè)置為允許透明(也就是AllowsTransparency=True)時(shí),Winform Control 會出現(xiàn)不顯示等情況,為了避免此問題,許多UI框架在實(shí)現(xiàn)不規(guī)則窗體時(shí),用Win32 API 去實(shí)現(xiàn)不規(guī)則窗體的一些特效,比如透明,圓角等,這樣WPF窗口的AllowsTransparency屬性就可以設(shè)為FALSE,從而繞過了空域問題。但對于沒有接觸過Window底層開發(fā)的同學(xué)開發(fā)成本會比較高,而且有些特殊情況下,必須設(shè)AllowsTransparency為True時(shí),該如何解決?

第一種也是網(wǎng)絡(luò)上最普遍的方法,簡單說就是內(nèi)嵌窗體,這個(gè)方法就不再說明。 第二種也是我解決此問題的方法,使用第三方庫解決空域的問題

利用第三方庫解決空域問題

Microsoft.DwayneNeed(
https://microsoftdwayneneed.codeplex.com/
),這個(gè)庫在其項(xiàng)目介紹里也寫到

Mitigating "airspace" issues in WPF applications.

可能看出這個(gè)庫也不能完美的解決空域的問題,也只能等微軟去完善此問題了。

以Winform中強(qiáng)大的WebBrower為例,簡單說一下使用方法:

新建WPF窗體項(xiàng)目并添加Microsoft.DwayneNeed.dll與Microsoft.DwayneNeed.Win32.dll的引用 添加 xmlns:airspace="clr-namespace:Microsoft.DwayneNeed.Interop;assembly=Microsoft.DwayneNeed"的聲明
<airspace:AirspaceDecorator AirspaceMode="Redirect" IsInputRedirectionEnabled="True" IsOutputRedirectionEnabled="True">    <WindowsFormsHost Name="FormsHost">      <winform:WebBrowser/>    </WindowsFormsHost></airspace:AirspaceDecorator>

以上所述是小編給大家介紹的解決WPF中空域問題(Airspace issuse),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對錯(cuò)新站長站網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 建阳市| 讷河市| 绥化市| 灵宝市| 平南县| 静乐县| 哈巴河县| 同仁县| 龙江县| 明水县| 平顺县| 丹阳市| 婺源县| 奎屯市| 广安市| 灌阳县| 雷山县| 岳阳县| 闽清县| 长阳| 剑阁县| 襄汾县| 社旗县| 彩票| 武夷山市| 阳江市| 扬州市| 天门市| 交口县| 监利县| 济宁市| 宜昌市| 平阳县| 吉木萨尔县| 军事| 漳平市| 山西省| 曲松县| 阳原县| 萍乡市| 铁岭县|