justinhachemeister / Mvvm-1

A light weight core package for Reactive Marbles to introduce MVVM abstractions

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License Build

Reactive Marbles Mvvm

A light weight mvvm package for Reactive Marbles to introduce framework abstractions

NuGet packages

Name Platform NuGet
ReactiveMarbles.Mvvm Core - Libary CoreBadge

Get Started

Registering Framework Concerns

ICoreRegistration gives the framework an understanding of the following concerns for ReactiveMarbles internals. We provide a simple builder and extension method to register it against the ServiceLocator.

ServiceLocator
   .Current()
   .AddCoreRegistrations(() =>
        CoreRegistrationBuilder
           .Create()
           .WithMainThreadScheduler(Scheduler.Default)
           .WithTaskPoolScheduler(TaskPoolScheduler.Default)
           .WithExceptionHandler(new DebugExceptionHandler())
           .Build());

AsValue

AsValue allows you to bind an IObservable<T> to a property that produces a property changed event.

_valueChange =
    this.WhenChanged(x => x.Property)
        .Select(x => x + "Changed")
        .AsValue(onChanged: x => RaisePropertyChanged(nameof(ValueChange)));

Benchmarks

To see how Mvvm compares to other frameworks see: Benchmarks

About

A light weight core package for Reactive Marbles to introduce MVVM abstractions

License:MIT License


Languages

Language:C# 100.0%