使用自定义 BrowserContext 创建在 XAML 中定义的 WPF BrowserView

Create WPF BrowserView defined in XAML with custom BrowserContext

我在 XAML 文件

中定义了一个 DotNetBrowser 实例
<Grid>
  <wpf:WPFBrowserView x:Name="BrowserView"></wpf:WPFBrowserView>
</Grid>

该应用程序由多人使用,由于此处讨论的问题而导致问题:

是否可以使用 XAML 定义浏览器控件并仍然为浏览器实例分配自定义上下文?

Is it possible to use XAML to define the browser control and still assign a custom context to the browser instance?

不,恐怕不是。

WPFBrowserView class 的 Browser 属性 没有 public setter 因此您必须创建自定义 BrowserBrowserContext 以编程方式:

BrowserContextParams params1 = new BrowserContextParams("C:\my-data1");
BrowserContext context1 = new BrowserContext(params1);
Browser browser1 = BrowserFactory.Create(context1);

XAML 不支持调用 BrowserFactory.Create(context1).

遗憾的是,只有在 BrowserWPFBrowserView 是从源代码创建的情况下才能配置自定义 BrowserContext

可能的方法是将 WPFBrowserView 及其非默认初始化包装到一个自定义控件中,该控件管理 WPFBrowserView 的实例化和处置,使该控件公开所有必要的属性,然后插入它进入你的 XAML.