0

我使用 VS2017 和 Windows Template Studio 编写了一个 UWP 应用程序。我使用 Pivot Page Navigation Template 创建了多个页面。

这是基本代码:

 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”方法,但它没有被调用。

我究竟做错了什么?

4

1 回答 1

1

当您使用 Pivot Page Navigation Template 创建 UWP 项目时,它将PivotPage在 View 文件夹中创建。它会将 MainPage 设置在PivotItemin 中PivotPage

OnNavigatedTo页面加载并成为父框架的当前源时调用。切换页面时,父 Frame 的当前来源不会改变。

如果您OnNavigatedTo在 中写入PivotPage,它将在您启动应用程序时调用。您应该能够在 中添加Loaded事件MainPage,它在页面构建并添加到对象树并准备好交互时发生。

于 2017-10-10T07:11:38.197 回答