如何导航到metro应用程序中的新页面?

jjc*_*jcm 5 c# microsoft-metro windows-8

试着用C#编写一个Metro应用程序.尝试导航到新页面时遇到问题.

<HyperLinkButton NavigateUri="foo.xaml"/> 
Run Code Online (Sandbox Code Playgroud)

不起作用,因为NavigateUri字段不存在.Windows.Navigate命名空间也不可用,所以没有运气.在我的应用程序中使用地铁进入新页面的正确方法是什么?

小智 6

您可以处理Button控件的Click事件(事实上,您可以使用具有以下代码的所有事件),因为Metro的HyperLink按钮仅继承ButtonBase类而没有任何特殊属性或事件,例如NavigateUri.

如果要导航到metro应用程序中的另一个页面,请在页面中添加一个框架.xaml,并将此代码放在按钮的事件处理程序中:

this.Frame.Navigate("VideoStoryCreator.ComposePage");


whi*_*hac 5

导航到另一个页面有两种方法 -

  • 客户端应用方式 - >

你将在点击事件中实现这一点 -

var page = new PageName();
Window.Current.Content = page;
Run Code Online (Sandbox Code Playgroud)
  • 与Silverlight Navigation类似

如果您正在使用框架/页面导航,那么您可以这样做 -

使用声明的元素创建一个shell页面(母版页).然后,而不是使用create创建新页面.最简单的方法是将UserControl替换为Page

本教程很好地解释了这一点 - http://www.markermetro.com/2011/11/technical/windows-8-metro-style-apps-implementing-navigation-with-xaml/

希望能帮助到你!

此致,巴维克