我可以从Prism Xamarin Forms NavigationService检索当前的URI吗?

时间:2017-07-04 01:19:22

标签: xamarin.forms prism

我正在使用Xamarin.Forms创建iOS和Android应用程序。该应用程序用于完成特定的工作流程。当用户在每个页面上完成条目时,我将输入的数据保存到本地存储。

我还想保存一个URI,将Prism导航服务恢复到当前屏幕。这样做将允许用户恢复他们中断的工作流程,即使手机被重置,应用程序被操作系统关闭等等。

我还没有找到检索当前URI的方法。这可能吗?我可以创建一个字典,以便在必要时手动将屏幕关键字映射到URI,但我希望避免这种脆弱的解决方案。谢谢!

3 个答案:

答案 0 :(得分:1)

目前无法使用Prism的导航服务访问当前的导航堆栈。如果这是您需要的,我建议您在GitHub上打开issue

注意由于导航与Xamarin表单一起使用的方式,您必须从特定页面导航。此要求意味着每个ViewModel必须拥有自己的导航服务实例才能正确导航。

答案 1 :(得分:1)

很简单,这是解决方案:

public class Konto extends JFrame{

String newUser;

Konto(String newUser){
    this.newUser = newUser;
}
public void setUser(String text){
    this.newUser = text;
}

public String getTextField(){
    return this.text.getText();
}

public String getUser(){
    return this.newUser;
}

protected void back(ActionEvent e){

    //System.out.println(getTextField());
    this.setVisible(false);
    new Main().setVisible(true);
 }
}

答案 2 :(得分:0)

它是在v7.0版中添加的。 INavigationService有一个扩展方法,称为“ GetNavigationUriPath”。假设您的导航服务称为NavigationService,只需使用:

var uriPath = NavigationService.GetNavigationUriPath();

它将为您提供当前页面的当前uri路径。

enter image description here