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)));