zoukankan      html  css  js  c++  java
  • Create a Settings Page for Windows phone

    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();
                    }
                }
            }
        }
    }
  • 相关阅读:
    腾讯加入QQ群,代码生成地址
    jsTree 是一个基于Javascript,支持多浏览器的Tree view jQuery插件。
    PHP Ajax 跨域问题最佳解决方案
    【转载】目前主流过滤XSS的三种技术
    nginx中location、rewrite用法总结
    Tomcat请求头过大
    ssh秘钥分发错误“/usr/bin/ssh-copy-id: ERROR: No identities found”
    ssh分发秘钥时出现错误“Permission denied (publickey,gssapi-keyex,gssapi-with-mic)”
    修改Jenkins用户的密码
    注销/etc/passwd带来的系统登陆不上
  • 原文地址:https://www.cnblogs.com/caodaiming/p/2627783.html
Copyright © 2011-2022 走看看