Vous devez disposer d'une référence à la vue à partir de laquelle vous souhaitez accéder au Dispatcher. Si vous créez vous enregistrez en quelque sorte, voir ci-dessous. Vous pouvez également accéder à toutes les vues en appelant ceci:
IReadOnlyList<CoreApplicationView> views = CoreApplication.Views;
Cependant une vue ne dispose pas d'un identifiant directement accessible, de sorte que vous devez chercher un identifiant en appelant, après le point de vue a été activé dans un répartiteur pour elle :
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,() => {
Frame frame = new Frame();
frame.Navigate(typeof(SecondaryPage), null);
Window.Current.Content = frame;
// You have to activate the window in order to show it later.
Window.Current.Activate();
newViewId = ApplicationView.GetForCurrentView().Id;
});
alors je suggère de créer votre propre IDictionary<int, CoreApplicationView>
d'avoir une correspondance entre ids et votre point de vue. Sinon, vous pouvez également obtenir l'identifiant par
newViewId = ApplicationView.GetApplicationViewIdForWindow(newView.CoreWindow);
(un peu plus documentation)