我目前正在为Visual Studio中的Windows Phone应用程序开发带有Windows Phone 10的Lumia 1520。 要在MainPage和SecondPage之间导航,我使用代码:
private void HyperlinkButton_Click(object sender, RoutedEventArgs e){
Frame.Navigate(typeof(SecondPage));
}
点击手机上的应用程序中的按钮时,我会收到以下信息:
该任务需要额外的应用程序。你想在商店里搜索一下吗? (是/否)
当我点击“是”时,我会被重定向到商店,在那里我收到信息:
您搜索“ms-resource”没有结果。
我的手机需要什么类型的应用程序?是否有其他方法可以在不安装其他应用程序的情况下在页面之间导航?
答案 0 :(得分:2)
问题是您已为HyperLinkButton定义了 NavigateUri 。 删除该属性,导航到第二页应该可以正常工作。
更详细地说,您的代码很可能如下所示:
<HyperlinkButton NavigateUri="SecondPage.xaml" Click="ButtonBase_OnClick" Content="Hello"/>
你提到的代码背后是:
Frame.Navigate(typeof (SecondPage));
现在,当您单击超链接时,会发生以下情况:
但是现在如果从XAML中删除NavigateUri:
<HyperlinkButton Click="ButtonBase_OnClick" Content="Hello"/>
导航工作:
此行为为somewhat vaguely described on MSDN:
HyperlinkButton是一个控件,所以它有输入事件,如Tapped, 它是一个ButtonBase子类,所以它也有一个Click事件。你没有 通常为NavigateUri指定一个值,并处理输入事件 被解释为单击HyperlinkButton。的行动 在默认浏览器中打开NavigateUri是一个系统操作 在不需要任何事件处理的情况下进行。