UWP导航到同一页面

时间:2016-10-05 12:45:37

标签: c# mvvm uwp windows-10-universal

我有一个显示文档和文件夹的页面(showDocuments)(如Dropbox或Google Drive中)。当用户点击文件夹时,我尝试导航到 showDocuments 页面的新实例,以显示所点击文件夹的内容。但是,当我呈现新信息时,它会同时显示新文档和之前的文档。

我可以通过只有一个页面并每次清理它来做到这一点,但我需要不同的页面才能使用frame.GoBack()返回到父文件夹,因为它比使用frame.Navigate快得多(...)并再次计算和打印所有内容。

我没有使用MVVM模型,我只有一个页面,我决定需要在xaml.cs文件中显示哪些对象。

我应该使用视图而不是页面吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

尝试通过处理后退按钮操作来捕获参数并导航回来 您可以拥有父文件夹的全局变量:传递给 showDocuments 页面的(parentFolderVar)和在OnNavigatedTo方法中设置的 isReturn :< / p>

App.parentFolderVar = someValue;

因此,当您在App.xaml.cs中处理后退操作时:

private void OnBackRequested(object sender, BackRequestedEventArgs e)
{
    if (rootFrame.SourcePageType == typeof(showDocuments))
        App.isReturn = true;
    e.Handled = true;
    Pause();
}

在showDocuments导航中:

protected override void OnNavigatedTo(object sender, NavigationEventArgs e)
{
    if(App.isReturn)
        //You know the parent folder with App.parentFolderVar
    //Make operations
    App.parentFolderVar  = updatedParentFolderValue;
    App.isReturn = false;
}