Skip to content
NLNuvyntra Labs

Documentation

Reactive

IPropertyObservable and CombineLatest without System.Reactive. Core stays Rx-free.

Reactive derived state

Plugin.Maui.MVVMExpress.Reactive does not take System.Reactive. Core stays Rx-free. CombineLatest derives a value from two properties; dispose the observable with the ViewModel. Search debounce remains SearchQuery in Pagination.

using Plugin.Maui.MVVMExpress.Reactive;

_fullName = PropertyObservable.CombineLatest(
    PropertyObservable.Observe(this, nameof(First), () => First ?? ""),
    PropertyObservable.Observe(this, nameof(Last), () => Last ?? ""),
    static (first, last) => $"{first} {last}".Trim());

_fullName.Subscribe(_ => Notify(nameof(FullName)));