Git Product home page Git Product logo

featherlite's Introduction

FeatherLite

A light weight (feather lite) toolkit to aid in MVVM development for WIndows Phone 8+ systems. Inspired by MVVMLight, but mostly independent implementation. I created this while developing Windows Phone applications, so I have not tested them in any other .Net flavors (like WPF, WinRT etc). It provides following features:

• A Bindable Object for UI and an Observable Object for Models with easy to use Property CHange notifier. Just derive your classes from one of them, and call your setter

bool _isInEditMode;
public bool IsInEditMode
{
    get { return _isInEditMode; }
    set { SetProperty (ref _isInEditMode, value); }
}

SetProperty will take care of raising both INotifyPropertyChanging and INotifyPropertyChanged interface clients.

• An easy to use Application settings helper which lets you save a setting and retrive it in any class as easy as

public static bool AutoPaused
{
    get { return AppSettings.GetValue<bool> (DefaultValue: false); }
    set
    {
        if ( AppSettings.SetValue (Value: value) )
            AppSettings.Save ();
    }
}

• Async helper class for storing /retrieving files to and from Application Isolated storage.

• Bindable application bar/commands

• Navigation service

Known Issues: The messaging component creates a hard reference to all classes registering for messages (as an action delegate is passed as an input). I was not able to find a workaround which suited rest of my design. I just called CleanUp in every class and took care of Unregistring from messages.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.