Навигация в приложении 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, это происходит, когда страница создана и добавлена ​​в дерево объектов и готова к взаимодействию.

Другие вопросы по тегам