2017-05-20 2 views
0

Ich bin auf eine Ansicht navigieren, wenn sein Modul geladen wird:InteractionRequest kann nicht in der OnNavigatedTo-Methode ausgelöst werden?

public void OnImportsSatisfied() 
{ 
    this.ModuleManager.LoadModuleCompleted += 
      (s, e) => 
      { 
       if (e.ModuleInfo.ModuleName == EmailModuleName) 
       { 
        this.RegionManager.RequestNavigate(
         RegionNames.MainContentRegion, 
         InboxViewUri); 
       } 
      }; 
    } 

, wenn ich zu dieser Ansicht navigieren ich eine NotificationRequest erhöhen will (und seine PopupWindow); Diese Methode wird in der Ansichtsmodell definiert:

void INavigationAware.OnNavigatedTo(NavigationContext navigationContext) 
{ 
    MyInteractionRequest.Raise(...); 
} 

Durch das Debuggen entdeckte ich, dass die InteractionRequest keine Abonnenten für seine Raised Ereignis zum ersten Mal habe ich zu der Ansicht navigieren, und deshalb ist keine Interaktion Fenster angezeigt. Um den InteractionRequest funktionieren zu lassen, muss ich zu einer anderen Ansicht navigieren und dann zurückgehen. Warum passiert das? Wird die Ansicht zu spät nach dem Ansichtsmodell erstellt und kann der InteractionTrigger nicht zur Interaktionsanfrage hinzugefügt werden?

+0

Wo initialisierst du die 'MyInteractionRequest'? –

+0

@ R.Richards direkt bei der Eigenschaftserklärung – mainvoid

+0

Welche Version von Prisma verwenden Sie? – Haukinger

Antwort

1

Meine Vermutung ist, dass die Ansicht nicht von der Zeit initialisiert wurde, zu der Sie die Anfrage stellen. Dies bedeutet, dass keine Bindungen erstellt wurden und keine Handler hinzugefügt wurden. Sie nähern sich im Allgemeinen einer schlechten Übung. Wenn Sie beim ersten Anzeigen der Seite ein Popup anzeigen müssen, fügen Sie ein Ereignis zum Befehlsverhalten für das geladene Ereignis der Ansicht hinzu und zeigen Sie dort Ihr Popup an. Dies stellt sicher, dass die Seiten vollständig geladen wurden und alle Bindungen erstellt wurden.

+0

Ich endete mit dieser Methode. Vielen Dank. – mainvoid

Verwandte Themen