最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2017年04月11日 14:31:14   作者:零頁  
空域問題是由于Winform與WPF在底層渲染機制上有所區(qū)別而導致的。下面小編給大家分享解決WPF中空域問題(Airspace issuse),需要的朋友參考下吧

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

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

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

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),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

最新評論

松阳县| 滕州市| 保德县| 柏乡县| 五常市| 凤台县| 石阡县| 卫辉市| 巧家县| 横峰县| 肥东县| 温宿县| 安塞县| 温宿县| 雷州市| 上蔡县| 黎平县| 兰州市| 邯郸县| 凤城市| 浦县| 铜陵市| 玉溪市| 尼玛县| 城市| 紫阳县| 清涧县| 介休市| 阿鲁科尔沁旗| 富民县| 江口县| 鹤峰县| 淅川县| 克拉玛依市| 越西县| 手游| 息烽县| 汝城县| 会昌县| 股票| 台湾省|