上記のZikによって提供された素晴らしい答えのVB.netバージョンを追加したいだけです。彼のコードをVBに翻訳する方法を理解したら、すぐにWinRT/Windows 8の方法と同じようにナビゲーションができました。
私は次のコードでモジュールを作成しました:で、私の他のページでは、そのオブジェクトを取得するには、
NavigationService.Navigate("pagename.xaml", ObjectToPassToThePage)
そして最後に:その後、
Module NavigationExtensionsModule
Sub New()
End Sub
Private _navigationData As Object = Nothing
<System.Runtime.CompilerServices.Extension> _
Public Sub Navigate(service As NavigationService, page As String, data As Object)
_navigationData = data
service.Navigate(New Uri(page, UriKind.Relative))
End Sub
<System.Runtime.CompilerServices.Extension> _
Public Function GetLastNavigationData(service As NavigationService) As Object
Dim data As Object = _navigationData
_navigationData = Nothing
Return data
End Function
End Module
そして、このように別のページに移動しますOnNavigatedToサブ:
ThisPageData = NavigationService.GetLastNavigationData()
Me.DataContext = ThisPageData
実際の答えはZikになります。
名前を付けて独立したストレージに保存してから、別のページから戻すことができます。 –
http://stackoverflow.com/questions/12444816/how-to-pass-values-parameters-between-xaml-pages/12444817#12444817 –