Create a Settings Page for Windows phone

來源:互聯網
上載者:User
using System;using System.IO.IsolatedStorage;using System.Diagnostics;using System.Collections.Generic;namespace SettingsSample{    public class AppSettings    {        // Our isolated storage settings        IsolatedStorageSettings settings;        // The isolated storage key names of our settings        const string CheckBoxSettingKeyName = "CheckBoxSetting";        const string ListBoxSettingKeyName = "ListBoxSetting";        const string RadioButton1SettingKeyName = "RadioButton1Setting";        const string RadioButton2SettingKeyName = "RadioButton2Setting";        const string RadioButton3SettingKeyName = "RadioButton3Setting";        const string UsernameSettingKeyName = "UsernameSetting";        const string PasswordSettingKeyName = "PasswordSetting";        // The default value of our settings        const bool CheckBoxSettingDefault = true;        const int ListBoxSettingDefault = 0;        const bool RadioButton1SettingDefault = true;        const bool RadioButton2SettingDefault = false;        const bool RadioButton3SettingDefault = false;        const string UsernameSettingDefault = "";        const string PasswordSettingDefault = "";        /// <summary>        /// Constructor that gets the application settings.        /// </summary>        public AppSettings()        {            // Get the settings for this application.            settings = IsolatedStorageSettings.ApplicationSettings;        }        /// <summary>        /// Update a setting value for our application. If the setting does not        /// exist, then add the setting.        /// </summary>        /// <param name="Key"></param>        /// <param name="value"></param>        /// <returns></returns>        public bool AddOrUpdateValue(string Key, Object value)        {            bool valueChanged = false;            // If the key exists            if (settings.Contains(Key))            {                // If the value has changed                if (settings[Key] != value)                {                    // Store the new value                    settings[Key] = value;                    valueChanged = true;                }            }            // Otherwise create the key.            else            {                settings.Add(Key, value);                valueChanged = true;            }            return valueChanged;        }        /// <summary>        /// Get the current value of the setting, or if it is not found, set the         /// setting to the default setting.        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="Key"></param>        /// <param name="defaultValue"></param>        /// <returns></returns>        public T GetValueOrDefault<T>(string Key, T defaultValue)        {            T value;            // If the key exists, retrieve the value.            if (settings.Contains(Key))            {                value = (T)settings[Key];            }            // Otherwise, use the default value.            else            {                value = defaultValue;            }            return value;        }        /// <summary>        /// Save the settings.        /// </summary>        public void Save()        {            settings.Save();        }        /// <summary>        /// Property to get and set a CheckBox Setting Key.        /// </summary>        public bool CheckBoxSetting        {            get            {                return GetValueOrDefault<bool>(CheckBoxSettingKeyName, CheckBoxSettingDefault);            }            set            {                if (AddOrUpdateValue(CheckBoxSettingKeyName, value))                {                    Save();                }            }        }        /// <summary>        /// Property to get and set a ListBox Setting Key.        /// </summary>        public int ListBoxSetting        {            get            {                return GetValueOrDefault<int>(ListBoxSettingKeyName, ListBoxSettingDefault);            }            set            {                if (AddOrUpdateValue(ListBoxSettingKeyName, value))                {                    Save();                }            }        }        /// <summary>        /// Property to get and set a RadioButton Setting Key.        /// </summary>        public bool RadioButton1Setting        {            get            {                return GetValueOrDefault<bool>(RadioButton1SettingKeyName, RadioButton1SettingDefault);            }            set            {                if (AddOrUpdateValue(RadioButton1SettingKeyName, value))                {                    Save();                }            }        }        /// <summary>        /// Property to get and set a RadioButton Setting Key.        /// </summary>        public bool RadioButton2Setting        {            get            {                return GetValueOrDefault<bool>(RadioButton2SettingKeyName, RadioButton2SettingDefault);            }            set            {                if (AddOrUpdateValue(RadioButton2SettingKeyName, value))                {                    Save();                }            }        }        /// <summary>        /// Property to get and set a RadioButton Setting Key.        /// </summary>        public bool RadioButton3Setting        {            get            {                return GetValueOrDefault<bool>(RadioButton3SettingKeyName, RadioButton3SettingDefault);            }            set            {                if (AddOrUpdateValue(RadioButton3SettingKeyName, value))                {                    Save();                }            }        }        /// <summary>        /// Property to get and set a Username Setting Key.        /// </summary>        public string UsernameSetting        {            get            {                return GetValueOrDefault<string>(UsernameSettingKeyName, UsernameSettingDefault);            }            set            {                if (AddOrUpdateValue(UsernameSettingKeyName, value))                {                    Save();                }            }        }        /// <summary>        /// Property to get and set a Password Setting Key.        /// </summary>        public string PasswordSetting        {            get            {                return GetValueOrDefault<string>(PasswordSettingKeyName, PasswordSettingDefault);            }            set            {                if (AddOrUpdateValue(PasswordSettingKeyName, value))                {                    Save();                }            }        }    }}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.