我有一个页面,其他几个页面导航到。但是在某些情况下,用户不应该看到这个页面,所以我想将它们发送到另一个页面。
而不是更新其余的调用代码,我只想改变这个页面来处理它。
public MyPage()
{
Loaded += MyPage_Loaded;
InitializeComponent();
// Other stuff
}
void MyPage_Loaded(object sender, RoutedEventArgs e)
{
if(condition)
NavigationService.Navigate(someUri);
}
由于 NavigationService 在构造函数中不可用,我必须连接到 Loaded 事件并在那里进行重定向。问题是页面已经加载并显示给用户。在重定向用户之前也有一点延迟。
在重定向无缝的情况下,有没有更好的方法来做到这一点?