簡體   English   中英

使WPF控制Web瀏覽器

[英]Make WPF control over the web browser

我有一個WPF應用程序,我有一個嵌入式Web瀏覽器控件。 我想在特定時間通過Web瀏覽器顯示動畫,但問題是WPF控件在保持在Web瀏覽器上時是不可見的。

有沒有辦法讓我的用戶控制Web瀏覽器?

請先回答我,

這是Web瀏覽器控制WPF Web Browser控制或Winform在托管WebBrowser控件WinFormHost

對於任何WPF控件來顯示動畫,你是否探索過...

  1. 將控件放在GridCanvas ,然后將拉伸的Border (其中包含運行的動畫)放置為grid / canvas的最后一個子節點?
  2. Adorner不斷改變繪圖環境以模擬動畫?
  3. 帶有動畫的透明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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM