我不明白我是如何在列表选择器中出错并将值保存在IsolatedStorageSettings中,
我试过了,
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();
}
在我的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>
实际问题是,当所选索引为1时,它不会显示item2,
请有人告诉我如何在所选索引中显示所选项目。 。
答案 0 :(得分:1)
看起来路径与属性名称不匹配。不应该Path=Setting
而不是Path=ListPickerSetting
吗?
此外,设置需要实现INotifyPropertyChanged,以便在属性更改时,控件将知道需要获取新值。