Существует проблема со свойством Document.Title, так как если заголовок был установлен или изменен, как в javascript, вы не получите последнее значение после установки.
Вместо использования веб-браузера по умолчанию в WPF мы используем FormsHost и веб-браузер Windows Form, который поддерживает свойство DocumentTitle и событие DocumentTitleChanged.
Поэтому я предлагаю использовать следующий элемент управления, и вы можете использовать больше функций, доступных в версии форм. Если вы внимательно заметите, обе функции работают одинаково с точки зрения производительности, поскольку оба создают элемент управления win32 и взаимодействуют с ним.
public class FormsWebBrowser :
System.Windows.Forms.Integration.WindowsFormsHost
{
System.Windows.Forms.WebBrowser Browser =
new System.Windows.Forms.WebBrowser();
public FormsWebBrowser()
{
Child = Browser;
Browser.DocumentTitleChanged +=
new EventHandler(Browser_DocumentTitleChanged);
}
void Browser_DocumentTitleChanged(object sender, EventArgs e)
{
this.DocumentTitle = Browser.DocumentTitle;
}
///<summary>
/// This will let you bind
///</summary>
public string DocumentTitle
{
get { return (string)GetValue(DocumentTitleProperty); }
private set { SetValue(DocumentTitleProperty, value); }
}
public static readonly DependencyProperty DocumentTitleProperty =
DependencyProperty.Register("DocumentTitle", typeof(string),
typeof(FormsWebBrowser), new FrameworkPropertyMetadata(""));
}
Может потребоваться еще немного кода, чтобы реализовать немного больше, но все возможно, добавив больше свойств зависимостей и управляя логикой.