2013-04-29 59 views
1

我在我的C#應用​​程序中使用System.Windows.Controls.Webbrowser類。 我想識別文檔標題是否更改。WPF WebBrowser OnTitleChanged事件

所以我聽的LoadComplete事件,現在越來越標題

public void webBrowser_LoadCompleted(object sender, NavigationEventArgs e) 
    { 
     dynamic doc = browser.Document; 
     setTitle(doc.Title); 
    } 

的問題是,加載過程中標題可能會改變。在這種情況下,LoadCompleted事件不會觸發。 接下來的問題是。我有一個HTML應用程序,通過應用程序中的JavaScript函數導航。在使用這些JavaScript鏈接的情況下,事件也不會觸發。

我在尋找類似於OnTitleChange from CHtmlView(C++) 的事件是否有解決我的問題的可能性?

感謝您的幫助。

回答

0

不支持WPF webbrowser。

您可以使用Windows窗體互操作來顯示Windows窗體Web瀏覽器控件,然後訂閱DocumentTitleChanged事件。

+0

謝謝。對我很好。 – user2331373 2013-04-30 19:03:11

0

這是我的工作代碼:

 System.Windows.Forms.WebBrowser browser = new System.Windows.Forms.WebBrowser(); 
     browser.Navigate(URL); 
     browser.DocumentTitleChanged += new EventHandler(browser_DocumentTitleChanged); 

     WindowsFormsHost winFormsHost = new WindowsFormsHost(); 
     winFormsHost.Child = browser; 
     AddChild(winFormsHost); 

public void browser_DocumentTitleChanged(object sender, EventArgs e) 
{ 
    setTitle(browser.DocumentTitle); 
}