[英]Make WPF control over the web browser
我有一個WPF應用程序,我有一個嵌入式Web瀏覽器控件。 我想在特定時間通過Web瀏覽器顯示動畫,但問題是WPF控件在保持在Web瀏覽器上時是不可見的。
有沒有辦法讓我的用戶控制Web瀏覽器?
請先回答我,
這是Web瀏覽器控制WPF Web Browser
控制或Winform
在托管WebBrowser控件WinFormHost
?
對於任何WPF控件來顯示動畫,你是否探索過...
Grid
或Canvas
,然后將拉伸的Border
(其中包含運行的動畫)放置為grid / canvas的最后一個子節點? Adorner
不斷改變繪圖環境以模擬動畫? Popup
,其靜態放置是否完成(綁定到控件的絕對左側,頂部位置和實際高度和寬度屬性)在控件上? 嘗試使用透明彈出窗口進行Web瀏覽器控制...
<Grid>
<WebBrowser x:Name="WebBrowser1"/>
<Popup IsOpen="{Binding StartAninmation}"
AllowsTransparency="True"
Grid.RowSpan="99"
Grid.ColumnSpan="99"
Placement="Center"
Width="{Binding ActualWidth,
ElementName=WebBrowser1,
Mode=OneWay}"
Height="{Binding ActualHeight,
ElementName=WebBrowser1,
Mode=OneWay}"
PlacementTarget="{Binding ElementName=WebBrowser1}"
Opacity="0.5"
Margin="3">
<TextBlock Text="Loading ..."/>
</Popup>
</Grid>
其中一個肯定會適用於您的情況。
不幸的是,由於操作系統呈現WinForms和WPF內容的順序,WPF Webbrowser Control(基本上是一個包裝的WinForms WebBrowser控件)是不可能的。
另請參閱: 有沒有辦法在wpf WebBrowser控件之上呈現WPF控件?
有一個第三方應用程序Awsomium應該使它成為可能。
編輯:另一種可能性是在WebBrowser控件上方渲染無框窗口。 但是將它保持在正確的位置/ z順序有點棘手。
CefSharp提供基於Chromium / V8的純WPF瀏覽器控件,不受Microsoft WebBrowser控件的空域問題的影響(免責聲明:我是CefSharp的維護者)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.