现在正在尝试用 C# 编写 Metro 应用程序。尝试导航到新页面时遇到问题。
<HyperLinkButton NavigateUri="foo.xaml"/>
不起作用,因为 NavigateUri 字段不存在。Windows.Navigate 命名空间也不可用,所以那里没有运气。在 Metro 的应用程序中转到新页面的正确方法是什么?
现在正在尝试用 C# 编写 Metro 应用程序。尝试导航到新页面时遇到问题。
<HyperLinkButton NavigateUri="foo.xaml"/>
不起作用,因为 NavigateUri 字段不存在。Windows.Navigate 命名空间也不可用,所以那里没有运气。在 Metro 的应用程序中转到新页面的正确方法是什么?
您可以处理Button控件的Click事件(实际上,您可以通过以下代码使用所有事件),因为Metro的HyperLink按钮只继承了ButtonBase类,没有任何特殊的属性或事件,例如NavigateUri。
如果您想导航到 Metro 应用程序中的另一个页面,请在页面中添加一个框架.xaml
并将此代码放入按钮的事件处理程序中:
this.Frame.Navigate("VideoStoryCreator.ComposePage");
有两种导航到另一个页面的方法 -
您将在点击事件中实现这一点 -
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/
希望能帮助到你!
问候, 巴维克
处理按钮上的 Click 事件,然后调用 Frame 上的 Navigate 方法
只需在点击事件中输入以下代码
this->Frame->Navigate(TargetPageName::typeid,this);