解決WPF中空域問題(Airspace issuse)
空域問題是由于Winform與WPF在底層渲染機(jī)制上有所區(qū)別而導(dǎo)致的。多數(shù)情況下,開發(fā)者為了實現(xiàn)不規(guī)則的窗體并承載Winform控件時,遇到此類問題。當(dāng)WPF窗體設(shè)置為允許透明(也就是AllowsTransparency=True)時,Winform Control 會出現(xiàn)不顯示等情況,為了避免此問題,許多UI框架在實現(xiàn)不規(guī)則窗體時,用Win32 API 去實現(xiàn)不規(guī)則窗體的一些特效,比如透明,圓角等,這樣WPF窗口的AllowsTransparency屬性就可以設(shè)為FALSE,從而繞過了空域問題。但對于沒有接觸過Window底層開發(fā)的同學(xué)開發(fā)成本會比較高,而且有些特殊情況下,必須設(shè)AllowsTransparency為True時,該如何解決?
- 第一種也是網(wǎng)絡(luò)上最普遍的方法,簡單說就是內(nèi)嵌窗體,這個方法就不再說明。
- 第二種也是我解決此問題的方法,使用第三方庫解決空域的問題
利用第三方庫解決空域問題
Microsoft.DwayneNeed(
https://microsoftdwayneneed.codeplex.com/
),這個庫在其項目介紹里也寫到
Mitigating "airspace" issues in WPF applications.
可能看出這個庫也不能完美的解決空域的問題,也只能等微軟去完善此問題了。
以Winform中強(qiáng)大的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),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
asp.net GridView控件中模板列CheckBox全選、反選、取消
GridView控件中模板列CheckBox全選、反選、取消實現(xiàn)代碼。2009-12-12Server Application Unavailable出現(xiàn)的原因及解決方案小結(jié)
今天在服務(wù)器安裝了個.net 4.0 framework(原本有1.0和2.0的),配置好站點后,選擇版本為4.0,訪問出錯,asp.net經(jīng)常會出現(xiàn)這個問題,這里腳本之家簡單的給整理下2012-05-05asp.net GridView 刪除時彈出確認(rèn)對話框(包括內(nèi)容提示)
GridView 刪除時彈出確認(rèn)對話框(包括內(nèi)容提示)2009-12-12NET Core 3.0 AutoFac內(nèi)置DI替換的新姿勢分享
這篇文章主要給大家介紹了關(guān)于NET Core 3.0 AutoFac內(nèi)置DI替換的新姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用NET Core 3.0具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09ASP.NET中GridView和Repeater重復(fù)數(shù)據(jù)如何合并
這篇文章主要介紹了ASP.NET中GridView和Repeater重復(fù)數(shù)據(jù)合并的方法,感興趣的小伙伴們可以參考一下2016-08-08Asp.net中DataTable導(dǎo)出到Excel的方法介紹
本篇文章介紹了,Asp.net中DataTable導(dǎo)出到Excel的方法。需要的朋友參考下2013-05-05