我正在开发一个UWP应用,其中有一个“页面”,并且在该页面中有几个“文本框”,用户输入数值(数字)。当导航到其他页面以获取其他值并返回该页面时,在“文本框”中输入的值都将丢失。我使用了“ NavigationCacheMode”,没有成功。
导航到其他页面时,请帮助您如何维护当前页面的UI元素(文本框)中的值。
如果解决方案在VB.NET中,我将不胜感激。
非常感谢您。
答案 0 :(得分:0)
在这种情况下,您必须自己保存日期。例如,当导航到其他页面时,您可以选择ApplicationData.LocalSettings保存数据。
您可以将数据保存在页面的OnNavigatedFrom方法上,并通过其OnNavigatedTo方法获取数据,如下所示:
<StackPanel>
<TextBox x:Name="textbox1"></TextBox>
<TextBox x:Name="textbox2"></TextBox>
<Button Content="navigate" Click="Button_Click"></Button>
</StackPanel>
Public NotInheritable Class MainPage
Inherits Page
Dim localSettings As Windows.Storage.ApplicationDataContainer = Windows.Storage.ApplicationData.Current.LocalSettings
Protected Overrides Sub OnNavigatedTo(e As NavigationEventArgs)
MyBase.OnNavigatedTo(e)
Dim value1 As Object = localSettings.Values(textbox1.Name)
Dim value2 As Object = localSettings.Values(textbox2.Name)
If value1 IsNot Nothing And value2 IsNot Nothing Then
textbox1.Text = value1.ToString()
textbox2.Text = value2.ToString()
End If
End Sub
Protected Overrides Sub OnNavigatedFrom(e As NavigationEventArgs)
MyBase.OnNavigatedFrom(e)
localSettings.Values(textbox1.Name) = textbox1.Text
localSettings.Values(textbox2.Name) = textbox2.Text
End Sub
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Frame.Navigate(GetType(BlankPage1))
End Sub
结束班级