Skip to content

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

License

Notifications You must be signed in to change notification settings

reactivemarbles/Mvvm

This branch is 1 commit ahead of main.

Folders and files

NameName
Last commit message
Last commit date
Jul 31, 2024
Aug 29, 2021
Feb 20, 2025
Jul 21, 2022
Jul 21, 2022
Aug 29, 2021
Jul 17, 2022
Aug 29, 2021
Jul 21, 2022
Aug 22, 2021

Repository files navigation

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

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages