#vb.net #xaml #uwp
#vb.net #xaml #uwp
Вопрос:
Я разрабатываю приложение UWP, где есть «страница», и на этой странице есть несколько «текстовых полей», значения которых вводятся пользователем (числа). При переходе на другие страницы для получения других значений и возврате на эту страницу все значения, введенные в «текстовых полях», теряются. Я использовал «NavigationCacheMode», безуспешно.
Не могли бы вы помочь, как сохранить значения в элементах пользовательского интерфейса (текстовых полях) на текущей странице при переходе на другие страницы.
Я был бы признателен, если бы решение было в VB.NET .
Большое вам спасибо.
Ответ №1:
В этом случае вам придется сохранять дату самостоятельно. Например, вы можете выбрать 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
Завершить класс