我使用VS2017和Windows Template Studio编写了一个UWP应用程序。我使用数据透视页面导航模板创建了多个页面。
以下是基本代码:
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));
}
我已经添加了&#34; OnNavigatedTo&#34;方法,但它没有被调用。
我做错了什么?
答案 0 :(得分:1)
使用数据透视表导航模板创建UWP项目时,它将在View文件夹中创建PivotPage
。它将在PivotItem
中的PivotPage
中设置MainPage。
加载页面时调用OnNavigatedTo
并成为父框架的当前源。切换页面时,父框架的当前源不会更改。
如果您在OnNavigatedTo
中写下PivotPage
,则会在您启动应用时调用它。您应该能够在Loaded
中添加MainPage
事件,它在构建页面并添加到对象树时发生,并且可以进行交互。