簡體   English   中英

如何在導航回頁面后保存頁面上的內容

[英]How to save content on the page after navigating on it back

我有一個包含4個TextBoxes的頁面。 每次按下TextBox,我都會使用NavigationService導航到新頁面,以便通過Itembox進行舒適的輸入。 我使用NavigationContext從Itembox發送選擇。 但每次導航回第一頁時,頁面的構造函數都會被調用,我看到空文本框而不是填充文本框。

我怎么能避免這個?

您是否主動使用NavigationService.Navigate() “返回”主頁面? 不要這樣做,只需使用NavigationService.GoBack()或讓用戶使用后退按鈕。

您可以通過PhoneApplicationService.Current.State傳輸值。 將其添加到用戶將值輸入Itembox的頁面中:

protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
    PhoneApplicationService.Current.State["name"] = "value";
    base.OnNavigatedFrom(e);
}

這樣可以在用戶返回主頁面時保存該值。 並在您的主頁面代碼中添加:

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    if (PhoneApplicationService.Current.State.ContainsKey("name"))
        textBox1.Text = (string)PhoneApplicationService.Current.State["name"];
}

這會嘗試獲取值並將其設置為TextBox

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM