Навигация в приложении UWP
Я написал приложение UWP с использованием VS2017 и Windows Template Studio. Я создал несколько страниц с помощью шаблона навигации по сводной странице.
Вот основной код:
public sealed partial class MainPage : Page, INotifyPropertyChanged
{
public MainPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
///Update controls here
base.OnNavigatedTo(e);
}
public event PropertyChangedEventHandler PropertyChanged;
private void Set<T>(ref T storage, T value, [CallerMemberName]string propertyName = null)
{
if (Equals(storage, value))
{
return;
}
storage = value;
OnPropertyChanged(propertyName);
}
private void OnPropertyChanged(string propertyName) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
Я добавил метод OnNavigatedTo, но он не вызывается.
Что я делаю неправильно?
1 ответ
Когда вы используете шаблон навигации Pivot Page для создания проекта UWP, он создаст PivotPage
в папке просмотра. И это установит MainPage в PivotItem
в PivotPage
,
OnNavigatedTo
Вызывается, когда страница загружается и становится текущим источником родительского фрейма. При переключении страниц текущий источник родительского фрейма не изменится.
Если ты пишешь OnNavigatedTo
в PivotPage
, он будет вызван, когда вы запустили приложение. Вы должны быть в состоянии добавить Loaded
событие в MainPage
, это происходит, когда страница создана и добавлена в дерево объектов и готова к взаимодействию.