在以下博文中,作者描述了存储页面状态的需要,例如: TextBox控件中的文本,在Page State字典中,以便在页面之间导航时恢复它:
http://www.wintellect.com/CS/blogs/jgarland/archive/2011/01/26/a-matter-of-state-part-1.aspx
但是,我创建了一个非常简单的应用程序,其中一个页面包含Button,TextBlock和ListBox项。该按钮通过NavigationService.Navigate
导航到虚拟页面。现在,如果我滚动列表并将一些文本输入到我的TextBox中,导航到虚拟页面,然后点击后退按钮,我可以看到我的文本仍然存在于TextBox中并且滚动位置被保留。
我的问题是,(除了墓碑)我是否需要在简单地在它们之间导航时保持UI控件的状态?似乎frameowkr为我做了这个(尽管上面的博客文章!)。
答案 0 :(得分:1)
如果在您的应用程序的上下文中有意义,您应该保持状态,并且对用户有帮助。
这几乎肯定意味着在进行逻辑删除时,但可能不是通过后退按钮关闭应用程序然后重新启动时。
在您的方案中,滚动位置和文本将在墓碑中丢失,因此您可能希望保存这些详细信息。
保存状态仅在墓碑形成和启动应用程序的新实例的情况下相关(除了少数特殊情况 - 并且听起来不像你是其中之一),谈论保存是没有意义的除此之外的状态。