Вам нужно будет привязать свойство к представлению WPF, как показано ниже.
<Window x:Class="CefSharp.MinimalExample.Wpf.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:wpf="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf"
xmlns:cef="clr-namespace:CefSharp;assembly=CefSharp.Core"
xmlns:behaviours="clr-namespace:CefSharp.MinimalExample.Wpf.Behaviours"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
Title="{Binding Path=Title, ElementName=Browser, Converter={StaticResource TitleConverter}}"
WindowState="Maximized">
</Window>
Код конвертера будет выглядеть так:
public class TitleConverter : IValueConverter
{
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return "value ?? "No Title Specified";
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Binding.DoNothing;
}
}
см. эту документацию на github.
Если вам нужно window.name или любое другое свойство, решение состоит в том, чтобы зарегистрировать объект JS:
webBrowser.RegisterJsObject("cefCallback", new JavascriptAdapter());
В классе JavascriptAdapter вы можете создать метод
public void SetWindowName(string name)
{
//// your code
}
Тогда этот метод вы можете вызвать из javascript вашей HTML-страницы.
window["cefCallback].setWindowName(window.name);
Если вы не являетесь владельцем HTML-страницы и не можете изменить код страницы, вы можете использовать ExecuteScriptAsync для запуска метода javascript и получения результата в C #.