Storing Windows Phone User Settings: Listing 1

The Settings class.

public static class Settings
{
    private const string LocationEnabledKey = "LocationEnabled";
    public static bool LocationEnabled
    {
        get { return IsolatedStorageSettings.ApplicationSettings
                                            .SafeValue<bool>(LocationEnabledKey); }
        set { IsolatedStorageSettings.ApplicationSettings[LocationEnabledKey] = value; }
    }

    private const string RefreshIntervalInMinutesKey = "RefreshIntervalInMinutes";
    public static int RefreshIntervalInMinutes
    {
        get { return IsolatedStorageSettings.ApplicationSettings
                                            .SafeValue<int>(RefreshIntervalInMinutesKey); }
        set { IsolatedStorageSettings.ApplicationSettings
                                     [RefreshIntervalInMinutesKey] = value; }
    }
}

public static class SettingsHelper
{
    public static T SafeValue<T>(this IDictionary<string,object> settings, string key )
    {
        object outValue;
        if(settings.TryGetValue(key, out outValue))
        {
            if (outValue is T) return (T) outValue;
        }
        return default(T);
    }
}

About the Author

Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.

comments powered by Disqus

Featured

  • Microsoft Agent Framework Makeover: Claws, Loops and Harnesses

    Microsoft's newly released Agent Framework Harness packages the loops, planning, memory, context management and safety controls that developers previously had to assemble around AI models themselves.

  • Visual Studio 2026 Gives Copilot Built-In Skills -- and Makes Them Prove Their Worth

    Microsoft is moving Agent Skills beyond bring-your-own instructions by shipping expert-authored workflows with the IDE, while keeping them off by default until testing shows their benefits justify the additional token use.

  • Copilot AI Billing Shock Met with Meters, Caps and Token-Saving Tools

    GitHub is layering spending limits, expanded credit allowances and increasingly granular usage reporting onto Copilot, while Microsoft is reworking Visual Studio and VS Code to expose -- and reduce -- the cost of agentic development.

  • The AI-Powered Software Development Lifecycle

    René van Osnabrugge makes the case that AI's biggest opportunity in software development is not faster coding -- it's reducing the friction everywhere else in the SDLC.

Subscribe on YouTube