enter code here
У меня есть изолированное хранилище, но оно хранит только один элемент.Изолированное хранилище для хранения последних списков, windows phone
Я хочу, чтобы иметь возможность сохранять список избранных пользователей для использования в списке.
На данный момент я могу хранить множество остановок, но когда я снова открываю приложение, он только восстанавливает последний элемент. и удаляет остальные.
private void ApplicationBarFavouriteButton_Click(object sender, EventArgs e)
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
// txtInput is a TextBox defined in XAML.
if (!settings.Contains("userData"))
{
settings.Add("userData", busStopName.Text);
}
else
{
settings["userData"] = busStopName.Text;
}
settings.Save();
MessageBox.Show("Bus Stop was added to your favourites");
}
затем для отображения списка
if (IsolatedStorageSettings.ApplicationSettings.Contains("userData"))
{
listFav.Items.Add(IsolatedStorageSettings.ApplicationSettings["userData"] as string);
}
EDIT:
private void ApplicationBarFavouriteButton_Click(object sender, EventArgs e)
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
List<string> favourites = settings["favourites"] as List<string>;
if (favourites == null)
{
favourites = new List<string>();
settings.Add("favourites", favourites);
}
favourites.Add(busStopName.Text);
settings["favourites"] = favourites;
}
отображающие данные
if (IsolatedStorageSettings.ApplicationSettings.Contains("favourites"))
{
listFav.Items.Add(IsolatedStorageSettings.ApplicationSettings["favourites"] as List<string>);
}
Привет, спасибо. я получаю следующее сообщение - KeyNotFoundException , когда она попадет эту строку 'Список избранных = Настройка [«избранные»] как список ;' –
Я изменил эту строку, чтобы использовать метод TryGetValue() вместо этого. Это попытается получить значение без возникновения исключения. Надеюсь это поможет. –
Спасибо, я добавил. Но теперь я получаю «systems.collections.generic.list'1 [S ....», он не видит все. также он сохраняет только один из сохраненных. Не уверен, что происходит. –