如何从自定义类内部的代码导航到页面。例如,假设我的 MainPage.xaml.cs 中有以下代码:
private void DoSomething(object sender, RoutedEventArgs e)
{
var work = new Work();
work.doMore();
}
在这个类中,我希望导航真正发生的地方:
public class Work
{
public void DoMore()
{
// this is what I've tried, but doesn't work
var myFrame = new Frame();
myFrame.Navigate(typeof(HomePage));
}
}
您尝试的代码不起作用,因为不是主框架,您应该将 MainFrame 引用发布到代码的其余部分,以便您可以在后面的外部视图代码中导航。
如果您要做一些简单的事情,我建议在发布主框架实例的 App 类上放置一个静态属性。
编辑:一些代码
On App.xaml.cs
public static Frame MainFrame{get;private set;}
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
Frame rootFrame = Window.Current.Content as Frame;
MainFrame = rootFrame;
(....)
}
Usage:
App.MainFrame.Navigate(...);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)