Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF WebBrowser OnTitleChanged事件_C#_Wpf_Browser - Fatal编程技术网

C# WPF WebBrowser OnTitleChanged事件

C# WPF WebBrowser OnTitleChanged事件,c#,wpf,browser,C#,Wpf,Browser,我正在C应用程序中使用System.Windows.Controls.Webbrowser类。 我想识别文档标题是否更改 因此,我收听LoadComplete事件并获取标题 public void webBrowser_LoadCompleted(object sender, NavigationEventArgs e) { dynamic doc = browser.Document; setTitle(doc.Title); } 现在

我正在C应用程序中使用System.Windows.Controls.Webbrowser类。 我想识别文档标题是否更改

因此,我收听LoadComplete事件并获取标题

    public void webBrowser_LoadCompleted(object sender, NavigationEventArgs e)
    {
        dynamic doc = browser.Document;
        setTitle(doc.Title);
    }
现在的问题是,标题可能会在加载过程中更改。在这种情况下,LoadCompleted事件不会触发。 下一个问题是。我有一个html应用程序,可以在应用程序中导航javascript函数。如果使用这些javascript链接,事件也不会触发

我正在寻找一个像C++这样的事件 有可能解决我的问题吗


感谢您的帮助。

WPF网络浏览器不支持


您可以使用windows窗体互操作来显示windows窗体webbrowser控件,然后订阅DocumentTitleChanged事件。

这是我的工作代码:

        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);
}

非常感谢。这对我很有用。