0

在以下博客文章中,作者描述了将页面状态(例如 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 为我做了这个(尽管上面的博客文章!)。

4

1 回答 1

1

如果它在您的应用程序上下文中有意义并且对用户有帮助,您应该持久化状态。

这几乎肯定意味着当墓碑时,但可能不是当应用程序通过后退按钮关闭然后重新启动时。

在您的场景中,滚动位置和文本将在墓碑上丢失,因此您可能希望保存这些详细信息。
保存状态仅在墓碑和启动应用程序的新实例的上下文中相关,因此(除了少数例外情况——听起来你不是其中之一)谈论保存是没有意义的在此之外的状态。

于 2011-02-08T17:07:55.663 回答