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