Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 要在WP7的外部浏览器中打开链接吗_C#_Windows Phone 7_Hyperlink_Browser - Fatal编程技术网

C# 要在WP7的外部浏览器中打开链接吗

C# 要在WP7的外部浏览器中打开链接吗,c#,windows-phone-7,hyperlink,browser,C#,Windows Phone 7,Hyperlink,Browser,架构如下所示: 点击一个按钮就会打开一个HTML页面,其中包含一个链接。单击链接后,我想在WP7的外部(默认)浏览器中打开它,以便应用程序关闭,链接从外部打开。如何实现此功能? 在xaml文件中添加了此控件: <phone:WebBrowser Name="browser" Margin="0,78,0,0" /> 现在index_en.html有一个链接将在外部浏览器中打开。您可以使用启动浏览器 我发现您需要转义传递给它的URL:(通常,您可以使用标记上的Target属性进行转义

架构如下所示:
点击一个按钮就会打开一个HTML页面,其中包含一个链接。单击链接后,我想在WP7的外部(默认)浏览器中打开它,以便应用程序关闭,链接从外部打开。如何实现此功能?
在xaml文件中添加了此控件:

<phone:WebBrowser Name="browser" Margin="0,78,0,0" />
现在index_en.html有一个链接将在外部浏览器中打开。

您可以使用启动浏览器


我发现您需要转义传递给它的URL:(

通常,您可以使用
标记上的
Target
属性进行转义。但是,在
WP7
中(至少在Emulator中),这不起作用

您可以使用
Navigating
事件进行拦截,如下所示:

void WebBrowser1_Navigating(object sender, NavigatingEventArgs e)
{
    if (IsSupposedToOpenInPhoneBrowser(e.Uri))
    {
        e.Cancel = true;
        WebBrowserTask task = new WebBrowserTask();
        task.URL = e.Uri.ToString();
        task.Show();
    }
}

你可以用这样的东西

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    WebBrowserTask webBrowserTask = new WebBrowserTask();
    webBrowserTask.Uri = new Uri("http://www.someUrl.com");
    webBrowserTask.Show(); 
}

我如何通过跳过来实现它?@Shaireen:通过跳过来实现什么?跳过什么?很抱歉我没有说清楚。实际上,在使用Web浏览器任务时,我需要向它传递一个url。所以这个url应该是html文件的名称?还是应该是打开的链接?@Shaireen:这是要打开的地址。你在浏览器中放在地址栏中的位呃。事实上,我有一个Html文件,只要点击按钮就可以打开。这个文件有要在外部浏览器中打开的地址。现在我想捕获该链接上的点击,只有这样我才能在外部打开它?怎么做?“IsupposedToopenInPhoneBrowser(e.Uri)”找不到属性。这意味着什么?如果您想在手机浏览器中打开URI之前验证/筛选它们,它只是一个假方法占位符…您可以不使用它。
private void Button_Click_1(object sender, RoutedEventArgs e)
{
    WebBrowserTask webBrowserTask = new WebBrowserTask();
    webBrowserTask.Uri = new Uri("http://www.someUrl.com");
    webBrowserTask.Show(); 
}