Heim > Backend-Entwicklung > C++ > Wie kann man Werte effizient zwischen XAML-Seiten übergeben?

Wie kann man Werte effizient zwischen XAML-Seiten übergeben?

Barbara Streisand
Freigeben: 2025-01-03 14:14:40
Original
925 Leute haben es durchsucht

How to Efficiently Pass Values Between XAML Pages?

Übergabe von Werten zwischen XAML-Seiten

Die Übergabe von Parametern zwischen XAML-Seiten ist ein grundlegender Aspekt eines effektiven Anwendungsdesigns. Unabhängig davon, ob Sie durch Seiten in einer Windows Phone-, Silverlight-, WPF- oder Windows 8-Anwendung navigieren, wird das Verständnis der geeigneten Methoden zur Datenübergabe die Funktionalität und Benutzererfahrung Ihrer Anwendung verbessern.

1. Verwendung des Abfragestrings

Für eine einfache Datenübertragung kann der Abfragestring verwendet werden. Über diese Methode übergebene Daten müssen in Zeichenfolgen konvertiert und URL-codiert werden.

Navigationsseite:

page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));
Nach dem Login kopieren

Zielseite:

string parameter = string.Empty;
if (NavigationContext.QueryString.TryGetValue("parameter", out parameter)) {
    this.label.Text = parameter;
}
Nach dem Login kopieren

2. Verwendung von NavigationEventArgs

NavigationEventArgs bietet Zugriff auf Parameter, die während der Navigation durch Methodenaufrufe übergeben werden.

Navigationsseite:

page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));

// and ...

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    Page destinationPage = e.Content as Page;
    if (destinationPage != null) {

        destinationPage.PublicProperty = "String or object..";
    }
}
Nach dem Login kopieren

Zielseite:

// Use the value of "PublicProperty"..
Nach dem Login kopieren

3. Verwenden der manuellen Navigation

Die manuelle Navigation ermöglicht die Weitergabe benutzerdefinierter Parameter durch den Konstruktor.

Navigationsseite:

page.NavigationService.Navigate(new Page("passing a string to the constructor"));
Nach dem Login kopieren

Zielseite:

public Page(string value) {
    // Use the value in the constructor...
}
Nach dem Login kopieren

Unterschied zwischen Uri und Manual Navigation

Der Hauptunterschied liegt im Anwendungslebenszyklus. Manuell erstellte Seiten bleiben im Speicher erhalten, über Uri navigierte Seiten dagegen nicht.

Übergabe komplexer Objekte

Methode 1 und 2 können zur Übergabe komplexer Objekte verwendet werden, alternativ können auch benutzerdefinierte Eigenschaften verwendet werden zur Anwendungsklasse hinzugefügt oder Daten können in Application.Current.Properties gespeichert werden.

Das obige ist der detaillierte Inhalt vonWie kann man Werte effizient zwischen XAML-Seiten übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage