中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解決WPF中空域問題

發布時間:2021-07-21 10:02:03 來源:億速云 閱讀:210 作者:小新 欄目:開發技術

這篇文章主要介紹如何解決WPF中空域問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

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

  • 第一種也是網絡上最普遍的方法,簡單說就是內嵌窗體,這個方法就不再說明。

  • 第二種也是我解決此問題的方法,使用第三方庫解決空域的問題

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

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

Mitigating "airspace" issues in WPF applications.

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

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

  • 新建WPF窗體項目并添加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中空域問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

wpf
AI

包头市| 石城县| 垦利县| 苗栗县| 新昌县| 巴彦县| 河东区| 万山特区| 六盘水市| 惠来县| 连云港市| 武定县| 皋兰县| 鹤壁市| 宁乡县| 陵水| 南通市| 桂林市| 汕尾市| 吴忠市| 乌恰县| 山西省| 视频| 浮山县| 乌海市| 宕昌县| 黎平县| 枝江市| 濮阳市| 淮北市| 柯坪县| 富顺县| 密山市| 保山市| 合肥市| 贵德县| 鹰潭市| 都安| 即墨市| 扶余县| 松原市|