Was bestimmt, ob NavigationCommands.BrowseBack den Seitenkonstruktor aufruft?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Was bestimmt, ob NavigationCommands.BrowseBack den Seitenkonstruktor aufruft?

Post by Anonymous »

Ich habe zwei Seiten mit ähnlicher Logik. Laden Sie die Seite, klicken Sie auf einige Schaltflächen, um andere Schaltflächen anzuzeigen/auszublenden, und fahren Sie mit der nächsten Seite fort. Wenn ich auf die nächste Seite gehe und auf die Schaltfläche „Zurück“ klicke, komme ich zur vorherigen Seite zurück.

Der Unterschied besteht darin, dass auf einer Seite (FirstPage) der Konstruktor aufgerufen wird, wenn ich auf die Schaltfläche „Zurück“ klicke, der einen Aufruf zum Zurücksetzen der Standardeinstellungen enthält. Auf der anderen Seite (SecondPage) wird der Konstruktor nicht aufgerufen, und ich bin mir nicht sicher, warum.

Code: Select all

public FirstPage()
{
InitializeComponent();
DisplayStuff();
}
FirstPage hat KeepAlive auf False gesetzt.

Code: Select all

public SecondPage(object arg1, object arg2)
{
InitializeComponent();
DisplayStuff(arg1, arg2);
}
Auf dieser Seite ist auch KeepAlive auf False gesetzt. Diese beiden Seiten erben nichts und es gibt nichts, was eine der Eigenschaften überschreibt. Der einzige Unterschied, den ich sehen kann, ist der leere Konstruktor, also habe ich versucht, SecondPage einen leeren Konstruktor zu geben, aber immer noch ohne Erfolg.

Ich bin relativ neu bei WPF (ich arbeite alle 6 Monate ein oder zwei Stunden daran), also was habe ich übersehen?

Hier ist der Zurück-Button, falls er relevant ist.
Bearbeiten: Wenn ich auf die Schaltfläche „Zurück“ klicke, behält SecondPage seinen Status nicht bei. Es wird lediglich eine leere Seite geladen, da DisplayStuff noch nicht aufgerufen wurde.

Navigationscode:

Code: Select all

NavigateTo(new SecondPage(arg1, arg2));

protected void NavigateTo(Page page)
{
NavigationService.Navigate(page);
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post