private void RegisterViewModelLoad(FrameworkElement pageElement, IViewModel viewModel) { pageElement.ObserveLoaded() .SubscribeOn(_dispatcherScheduler) .ObserveOn(ThreadPoolScheduler.Instance) .SelectMany(async (_, ct) => { await viewModel.Load(ct); return Unit.Default; }) .Subscribe(_ => { }, e => { }) .DisposeWith(viewModel.LongDisposables); }