我现在正在尝试用C#编写一个Metro应用程序。在尝试导航到新页面时遇到了问题。
<HyperLinkButton NavigateUri="foo.xaml"/>
无法工作,因为NavigateUri字段不存在。Windows.Navigate命名空间也不可用,所以没有运气。在我的应用程序中转到新页面的正确方法是什么?
我现在正在尝试用C#编写一个Metro应用程序。在尝试导航到新页面时遇到了问题。
<HyperLinkButton NavigateUri="foo.xaml"/>
无法工作,因为NavigateUri字段不存在。Windows.Navigate命名空间也不可用,所以没有运气。在我的应用程序中转到新页面的正确方法是什么?
您可以处理Button控件的Click事件(事实上,您可以使用以下代码处理所有事件),因为Metro的HyperLink按钮仅继承ButtonBase类而没有任何特殊属性或事件,例如NavigateUri。
如果您想在Metro应用中导航到另一页,请在.xaml
页面中添加一个frame,并将此代码放入按钮的事件处理程序中:
this.Frame.Navigate("VideoStoryCreator.ComposePage");
WinJS.Navigation.navigate
用于导航。 - sebagomez导航到另一个页面的方法有两种 -
您将在单击事件中实现此方法 -
var page = new PageName();
Window.Current.Content = page;
如果您正在使用Frame/Page Navigation,那么可以按照以下方式进行操作 -
创建一个带有 元素声明的shell页面(主页面)。然后,不要使用create创建新页面。最简单的方法是将UserControl替换为Page。
这在本教程中得到了很好的解释 - http://www.markermetro.com/2011/11/technical/windows-8-metro-style-apps-implementing-navigation-with-xaml/
希望能对您有所帮助!
祝好, Bhavik
只需要在您的点击事件中键入以下代码
this->Frame->Navigate(TargetPageName::typeid,this);