3

我不明白我是如何在列表选择器中出错并将值保存在 IsolatedStorageSettings 中的,

我试过了,

设置.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,

请有人告诉我如何在所选索引中显示所选项目。. .

4

1 回答 1

1

看起来路径与属性名称不匹配。不Path=Setting应该Path=ListPickerSetting取而代之吗?

此外,设置需要实现INotifyPropertyChanged以便当属性更改时,控件将知道它需要获取新值。

于 2013-02-06T15:10:03.493 回答