[英]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.