2015-09-22 3 views
3

Я обнаружил, что навигация между страницами в VB.NET называется так:для Windows 10 Универсальное приложение VB.NET Передача данных между страницами

Frame.Navigate(GetType(MainPage)) 

и от того, что я читал, вы можете передать параметр как это:

Frame.Navigate(GetType(MainPage), "Parameter Here!!") 

Проблема в том, что я не могу получить ее на другой странице. Поиск многих примеров в C# я вижу, что он может использовать один из нижеперечисленных методов. Хотя ни один из них не кажется, признаются в VS2015

Protected Overrides Sub LoadState(navigationParameter As Object, pageState As Dictionary(Of String, Object)) 

Protected Overrides Sub onNavigateTo(**Params**) 

^^ Они оба государства «... не имеет переопределение саб в базовом классе»

Как я получить параметр в вновь представленную страницу? это совсем другой метод?

ответ

2

После перекопа в класс страницы, который все страницы наследуют от. Кажется, что переопределение «onNavigateTo» Sub является ключевым в этой операции. Отсюда вы можете получить доступ к своему аргументу и успешно пройти. К сожалению, даже Microsoft не предоставляет документацию VB.NET для этого. Вот мой код:

На первой странице

Frame.Navigate(GetType(BlankPage1), "Hello") 

На второй странице

Public NotInheritable Class BlankPage1 
     Inherits Page 
     Public thestring As String 

    Protected Overrides Sub onNavigatedTo(e As NavigationEventArgs) 
     thestring = e.Parameter 

    End Sub 

Это работает успешно. Я надеюсь, что это поможет людям в будущем