3

我正在全力以赴WPF 浏览器应用程序 (XBAP) 并遇到了障碍。客户端上的应用程序被连接以处理具有特定前缀/协议的导航请求。(例如,'foo://...')此外,应用程序会根据创建请求的浏览器不同地处理这些问题。我尝试过 Page 的 'NavigationService.Navigate()' 方法,但出于某种奇怪的原因涉及 WebRequest 对象,它引发 NotSupportedException 说“无法识别 URI 前缀。”我可以创建一个 WebBrowser 控件并使用此前缀成功导航 IT,但应用程序将其识别为不同的浏览器并做出不同的反应。如果我使用的是 Silverlight ,我会直接设置浏览器的“window.location”,效果很好。但当然,

所以最重要的是,我需要做的是触发托管 XBAP 的浏览器导航到具有此特殊前缀的 URI。

唷。这就是我想的。谢谢。

更新:.Net Framework 4.0 将允许直接访问浏览器的 DOM,这将解决这个问题,但我仍在寻找在 .Net 3.x 中完成此任务的方法。

4

1 回答 1

3

您可以尝试使用 BrowserInteropHelper.ClientSite 来访问 DOM。查看此帖子以获取示例:

http://blogs.msdn.com/changov/archive/2009/03/01/scripting-out-of-an-xbap.aspx

请注意,这仅适用于 Internet Explorer。

于 2010-02-18T14:48:06.297 回答