OnNavigatedTo vs événement Load
Dans plusieurs exemples en ligne, j'ai trouvé ceci:
public partial class ForecastPage : PhoneApplicationPage
{
Forecast forecast;
public ForecastPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
//code here
}
}
mais dans d'autres, j'ai trouvé l'utilisation de la Load
événement comme
public partial class Person : PhoneApplicationPage
{
private PersonViewModel _ViewModel;
public Person()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(SearchView_Loaded);
}
void SearchView_Loaded(object sender, RoutedEventArgs e)
{
//code here
}
}
Je sais que OnNavigatedTo
les feux avant de la Load
événement, mais à la fois le feu avant de l'INTERFACE utilisateur est attirée sur le téléphone, donc ma question est Est-il un avantage à utiliser l'un de l'autre?
- Si vous faites beaucoup de l'initialisation, alors vous voulez utiliser Chargé par opposition à OnNavigatedTo ou bien de votre page peut prendre un certain temps à charger.
Vous devez vous connecter pour publier un commentaire.
La lecture de la documentation sur
OnNavigatedTo
:et lorsque nous lisons à propos de
Loaded
voir:Ils sont complètement différents, comme page, corrigez-moi si je me trompe, peut devenir
active
plus d'une fois au cours de la durée de vie de votre application, mais de construction de laFrameworkElement
généralement arrive qu'une fois.Je serais en désaccord avec Tigran.
En sautant vers l'avant-vers l'arrière, la sortie est
Donc,
OnNavigated
est appelée lorsque la page de navigation est fait, mais avant(pendant) les contrôles de la page sont chargés, tandis queLoaded
est appelé lorsque la page est prête et que toutes les commandes sont chargés.Dans Windows Runtime, le Chargé événement se déclenche après OnNavigatedTo (même lorsque les pages sont mises en cache par la mise en NavigationCacheMode.Requis). Vitalii est juste à ce sujet.
Selon MSDN:
Mais il y a une bonne raison pour laquelle vous souhaitez utiliser OnNavigatedTo: c'est le seul endroit où vous pouvez obtenir les paramètres de navigation. Si vous n'utilisez jamais les paramètres de navigation, utilisez l'événement Chargé.