欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
WPF中WindowFormsHost始終置頂的有效解決方案

背景

WPF的原生控件并不具備自身的句柄,即使使用偏門(mén)的方式獲取的結果也都是控件所在窗體的句柄,并不代表該控件本身的資源,這是由WPF的自身的機制決定的。

csharp

IntPtr hwnd1 = new WindowInteropHelper(this).Handle;
IntPtr hwnd2 = ((HwndSource)PresentationSource.FromVisual(uielement)).Handle;

到此需要了解下Winform與WPF的區別,WPF和winform最大的區別在于WPF底層使用的DirectX,winform底層使用的是GDI+,所以WPF的圖形界面上更勝一籌。

  • GDI+(Graphics Device Interface)圖形設備接口,它的主要任務(wù)是負責繪圖程序之間的信息交換、處理,所有windows程序的圖形輸出

  • DirectX(Direct Extension)多媒體編程接口,加強3D圖形和聲音效果,有很多API組成。按照性質(zhì)分類(lèi)可分為四大部分:顯示部分,聲音部分,輸入部分和網(wǎng)絡(luò )部分。

應時(shí)而生WindowFormsHost

當我們直接使用WPF的控件句柄作為OSG等第三方控件的繪制視圖區域時(shí),我們會(huì )發(fā)現視圖區域占據了整個(gè)窗體,這與上面提到的WPF的原生控件并不具備自身的句柄的結論一致。

為解決上述問(wèn)題,在WPF中嵌入第三方控件時(shí),往往需要借助WindowFormsHost控件,使用該控件可以包裹Winform控件,再將Winform的句柄暴露給第三方控件,即可實(shí)現在指定區域進(jìn)行類(lèi)似OSG視圖的繪制。

xml

<WindowsFormsHost Name="FormsHost">
<winform:WebBrowser>
</WindowsFormsHost>

三、WindowFormsHost的置頂缺陷

在WPF中調用windowFormsHost的控件時(shí),由于渲染機制的問(wèn)題總會(huì )出現各種問(wèn)題,讓許多人糾結頭疼的便是:

windowFormsHost控件在一個(gè)位置時(shí)會(huì )優(yōu)先顯示,而且完全設置不了順序,永遠在最上邊,WPF原生的控件無(wú)法對其遮蓋,更別說(shuō)透明了

四、解決WindowFormsHost的置頂問(wèn)題

經(jīng)過(guò)層層排除和篩選,最終找到一個(gè)可行方案:Microsoft.DwayneNeed。

  • 訪(fǎng)問(wèn):Microsoft.DwayneNeed下載源碼

  • 使用VS打開(kāi)Microsoft.DwayneNeed.sln解決方案,完成編譯

  • 在WPF項目中添加Microsoft.DwayneNeed.dll引用

  • 在xaml中添加

xml

<xmlns:interop=clr-namespace:Microsoft.DwayneNeed.Interop;assembly=Microsoft.DwayneNeed>
</xmlns>

在xaml中使用AirspaceDecorator包裹WindowsFormsHost

完整例子如下

xml

<airspace:AirspaceDecorator AirspaceMode="Redirect" IsInputRedirectionEnabled="True" IsOutputRedirectionEnabled="True">
<WindowsFormsHost Name="FormsHost">
<winform:WebBrowser>
</WindowsFormsHost>
</airspace:AirspaceDecorator>
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
采用C#WPF實(shí)現自己的網(wǎng)頁(yè)瀏覽器(自定義Tab控件)
WPF 瀏覽PDF 文件
C#下WPF中調用WinForm控件
WPF中播放Flash動(dòng)畫(huà)
將Flash 嵌入WPF 程序
WPF學(xué)習與分享之一: WPF與WinForm比較
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久