使用自定义 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 因此您必须创建自定义 Browser
和 BrowserContext
以编程方式:
BrowserContextParams params1 = new BrowserContextParams("C:\my-data1");
BrowserContext context1 = new BrowserContext(params1);
Browser browser1 = BrowserFactory.Create(context1);
XAML 不支持调用 BrowserFactory.Create(context1)
.
遗憾的是,只有在 Browser
和 WPFBrowserView
是从源代码创建的情况下才能配置自定义 BrowserContext
。
可能的方法是将 WPFBrowserView
及其非默认初始化包装到一个自定义控件中,该控件管理 WPFBrowserView
的实例化和处置,使该控件公开所有必要的属性,然后插入它进入你的 XAML.
我在 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 因此您必须创建自定义 Browser
和 BrowserContext
以编程方式:
BrowserContextParams params1 = new BrowserContextParams("C:\my-data1");
BrowserContext context1 = new BrowserContext(params1);
Browser browser1 = BrowserFactory.Create(context1);
XAML 不支持调用 BrowserFactory.Create(context1)
.
遗憾的是,只有在 Browser
和 WPFBrowserView
是从源代码创建的情况下才能配置自定义 BrowserContext
。
可能的方法是将 WPFBrowserView
及其非默认初始化包装到一个自定义控件中,该控件管理 WPFBrowserView
的实例化和处置,使该控件公开所有必要的属性,然后插入它进入你的 XAML.