我在Windows应用程序(Windows8.1)中有一个页面X,它在启动屏幕后显示。我希望在页面加载时,在用户能够与页面交互之前,对某些内容进行评估。
根据评估结果,我想做以下两项中的一项:
1挺好的。
我尝试在构造函数中调用this.Frame.Navigate(typeof(Y)),但由于this.Frame仍然是空的,所以无法工作。然后,我尝试在LoadState和OnNavigatedTo中调用它,但是在这两种情况下,this.Frame都不是null,而this.Frame()方法返回false,这意味着导航失败。在调试过程中,我尝试进入这个方法,但是它没有工作(?)。
一个提示是,当自动调用导航()代码行中的断点时,屏幕仍然显示启动屏幕,因此UI元素似乎还没有加载。因此,最后一个问题是:如何在加载所有元素(或者只是使其工作)的情况下进行推理和自动导航?
发布于 2014-07-30 05:57:49
我不明白为什么要调用Frame.Navigate(...) in OnNavigatedFrom,但我可以提出两个对我有用的选项:
OnNavigatedTo中的第二个页面:尽管这并不是开箱即用的,但当指示调度程序执行导航时,它会这样做:
公开密封部分类MainPage :页{ public MainPage() { this.InitializeComponent ();}受保护的覆盖无效OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e);=> {this.Frame.Navigate(SecondPage);};}Loaded事件中进行导航:
公开密封部分类MainPage :页{ public MainPage() { this.InitializeComponent();this.Loaded += (发件人,args) => { this.Frame.Navigate(typeof(SecondPage));};}当然,在这两种情况下,在调用Frame.Navigate(...)之前,您都可以在lambda表达式中添加任何您喜欢的计算。
编辑:作为第三种选择,也许您应该考虑将计算和决策部分移到OnLaunched中的App.xaml.cs中,并将第一页或第二页作为根页面加载,而不是打开第一页并立即导航到第二页?
https://stackoverflow.com/questions/24866544
复制相似问题