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

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:32:15
字體:
來源:轉載
供稿:網友

空域問題是由于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中空域問題(Airspace issuse),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟州市| 庄河市| 长顺县| 屯留县| 新绛县| 共和县| 开原市| 屯留县| 察哈| 东海县| 瑞昌市| 库车县| 浑源县| 石家庄市| 星子县| 阜新市| 灌南县| 鞍山市| 富民县| 河西区| 吉隆县| 湘潭市| 阿城市| 陇西县| 六盘水市| 汾西县| 汤阴县| 雷山县| 徐州市| 抚州市| 汶上县| 扶沟县| 长岛县| 莱芜市| 始兴县| 射洪县| 盐城市| 长白| 平顺县| 河西区| 来安县|