是的,只需将数据/数据上下文/对象保持在 App 级别。
例如,在 App.xaml.vb 中使用一个对象
Public Shared Property MyBook() As Book
Get
Return m_MyBook
End Get
Set
m_MyBook = Value
End Set
End Property
Private Shared m_MyBook As Book
在您页面上的 OnNavigatingFrom 事件中(甚至之前,无论您喜欢什么),保存该数据
Protected Overrides Sub OnNavigatingFrom(ByVal e As System.Windows.Navigation.NavigatingCancelEventArgs)
App.MyBook = currentBook
End Sub
导航回该页面时,只需检查 App.MyBook 是否为空,如果不是,则表示您在导航之前已经缓存了某些内容,因此只需阅读它并将当前数据上下文设置为它(或者您将数据设置为这页纸)
Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
If (App.MyBook Is Nothing) Then
Else
currentBook = App.MyBook
End If
End Sub
(由于您没有共享相关代码,因此我的实现相当抽象,但重点是 - 将其保存在 App.xaml.cs 中并在需要时保存/加载它)