UWP:从Page.OnNavigatedTo事件调用Frame.Navigate()

时间:2015-10-10 17:43:55

标签: events navigation uwp

进入通用Windows应用程序我想在页面加载期间检查用户的身份验证,或者在导航到用户之后检查用户的身份验证。这允许我提供通过授权使用单页面粒度过滤的导航。

例如,如果用户没有登录且页面需要身份验证,则必须将用户重定向到登录页面。

当我尝试导航到OnNavigatedTo事件中的其他页面时,当前一导航未完成且新的失败时,问题就出现了。我搜索过OnNavigationCompleted等其他活动,但我找不到任何内容。如果我在不等待的情况下使用异步方法,就像我使用定时器调度程序一样,但两种解决方案听起来都不那么干净。

存在一种方法来处理导航完成后引发的事件,或者我必须在导航呼叫期间预先检查授权?我希望避免这种解决方案,因为错误的调用可能会显示未经授权的页面。

2 个答案:

答案 0 :(得分:1)

如果你真的想根据这个答案https://stackoverflow.com/a/19527979/4788286找到一个单独的页面,你可以使用加载的事件。但我只是为了确定而对它进行测试。

旁注:此外,您的问题暗示您在视图代码隐藏中执行业务逻辑 - 这是不好的做法,我建议调查MVVM模式。 (如果你需要一个框架,我建议MVVMLight或PRISM)

答案 1 :(得分:0)

我认为预检是最好的方法。检查他们是否有权查看页面,然后才能导航到该页面。如果他们未获得授权,请询问他们是否要登录或购买页面

的权利
相关问题