首頁 > 後端開發 > C++ > 如何在XAML頁面之間高效傳值?

如何在XAML頁面之間高效傳值?

Barbara Streisand
發布: 2025-01-03 14:14:40
原創
925 人瀏覽過

How to Efficiently Pass Values Between XAML Pages?

在 XAML 頁面之間傳遞值

在 XAML 頁面之間傳遞參數是有效應用程式設計的一個基本面向。無論您是在 Windows Phone、Silverlight、WPF 還是 Windows 8 應用程式中瀏覽頁面,了解傳遞資料的適當方法都將增強應用程式的功能和使用者體驗。

1.使用查詢字串

對於簡單的資料傳輸,可以使用查詢字串。透過此方法傳遞的資料必須轉換為字串並進行 URL 編碼。

導覽頁面:

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

目標頁:

string parameter = string.Empty;
if (NavigationContext.QueryString.TryGetValue("parameter", out parameter)) {
    this.label.Text = parameter;
}
登入後複製

2.使用Navigation 🎜>NavigationEventArgs可以存取在導航期間透過方法呼叫傳遞的參數。

導覽頁:

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..";
    }
}
登入後複製
目標頁:

3。使用手動導航
// Use the value of "PublicProperty"..
登入後複製

手動導航允許透過建構函式傳遞自訂參數。

導覽頁:

page.NavigationService.Navigate(new Page("passing a string to the constructor"));
登入後複製
目標頁:

Uri 與Manual 之間的差異
public Page(string value) {
    // Use the value in the constructor...
}
登入後複製

主要區別在於應用程式生命週期。手動建立的頁面會保留在記憶體中,而透過 Uri 導航的頁面則不會。

傳遞複雜對象

方法 1 和 2 可用於傳遞複雜對象,或者也可以使用自訂屬性添加到Application類別或資料可以儲存在Application.Current.Properties中。

以上是如何在XAML頁面之間高效傳值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板