2016-05-04 4 views
0

Wenn InteractionRequestTrigger zum Anzeigen einer benutzerdefinierten Popup-Ansicht verwendet wird, werden bei jeder Anzeige dieselben Instanzen von View und ViewModel verwendet. Wie kann ich das View/ViewModel neu erstellen/zurücksetzen, so dass der Status der Ansicht "als Standard" ist. Das Problem ist, dass ich ein TabControl in meinem Popup verwende und das zuletzt ausgewählte Tab immer noch ausgewählt ist, nachdem ich das Popup geschlossen und wieder geöffnet habe.WPF Prism InteractionRequestTrigger: Erneutes Erstellen von View und ViewModel bei der Anzeige

Irgendwelche Ideen?

+0

bitte Code anzeigen – StepUp

Antwort

1

Hier ist eine Methode, bei der Sie keine neuen Schrauben und Muttern erstellen müssen.

  1. Implementieren Sie IInteractionRequestAware auf Ihrem Ansichtsmodell.
  2. eine Integer-Eigenschaft auf dem View-Modell Erstellen Sie den Index der ausgewählten Registerkarte
  3. Bind TabControl.SelectedIndex auf die neue Eigenschaft
  4. des IInteractionRequestAware.Notification Setter Bei der Implementierung zu speichern, setzen Sie die ausgewählte Index-Eigenschaft auf 0
+0

Danke, das war für mich der schnellste Weg, es im Moment zu lösen – Filip

1

Sie müssen Ihre eigene PopupWindowAction erstellen. Fügen Sie eine Eigenschaft für den WindowContent-Typ hinzu und verwenden Sie diese, um die neue Instanz jedes Mal zu erstellen, wenn Sie das Popup anzeigen.

+0

Danke für den Austausch, ich werde diese Lösung auch in meinem Kopf haben – Filip

Verwandte Themen