I don't get it how did I went wrong in the list picker and saving the value in IsolatedStorageSettings,
I've tried,
Settings.cs
// Our isolated storage settings
IsolatedStorageSettings isolatedStore;
// The isolated storage key names of our settings
const string ListPickerSettingKeyName = "ListPickerSetting";
// The default value of our settings
const int ListPickerSettingDefault = 0;
/// <summary>
/// Constructor that gets the application settings.
/// </summary>
public Settings()
{
try
{
// Get the settings for this application.
isolatedStore = IsolatedStorageSettings.ApplicationSettings;
}
catch (Exception e)
{
Debug.WriteLine("Exception while using IsolatedStorageSettings: " + e.ToString());
}
}
/// <summary>
/// Property to get and set a ListPicker Setting Key.
/// </summary>
public int ListPickerSetting
{
get
{
return GetValueOrDefault<int>(ListPickerSettingKeyName, ListPickerSettingDefault);
}
set
{
AddOrUpdateValue(ListPickerSettingKeyName, value);
Save();
}
}
/// <summary>
/// Get the current value of the setting, or if it is not found, set the
/// setting to the default setting.
/// </summary>
/// <typeparam name="valueType"></typeparam>
/// <param name="Key"></param>
/// <param name="defaultValue"></param>
/// <returns></returns>
public valueType GetValueOrDefault<valueType>(string Key, valueType defaultValue)
{
valueType value;
// If the key exists, retrieve the value.
if (isolatedStore.Contains(Key))
{
value = (valueType)isolatedStore[Key];
}
// Otherwise, use the default value.
else
{
value = defaultValue;
}
return value;
}
/// <summary>
/// Save the settings.
/// </summary>
public void Save()
{
isolatedStore.Save();
}
in My MainPage.xaml,
<toolkit:ListPicker Name="lstSetting" SelectionMode="Single" Foreground="DarkBlue" SelectedIndex="{Binding Source={StaticResource Settings}, Path=ListPickerSetting, Mode=TwoWay}" >
<toolkit:ListPickerItem Content="item1" />
<toolkit:ListPickerItem Content="item2" />
</toolkit:ListPicker>
the actual problem is it is not displayed the item2 when the selected index is 1,
please somebody tell me how to display the selected item in the selected index. . .
It looks like the Path doesn't match the property name. Shouldn't Path=Setting
be Path=ListPickerSetting
instead?
Also, Settings needs to implement INotifyPropertyChanged so that when the property changes, the control will know it needs to get the new value.