Example #1
0
		private void RegisterViewModelUnload(FrameworkElement pageElement, IViewModel viewModel)
		{
			pageElement.ObserveUnloaded()
					   .SubscribeOn(_dispatcherScheduler)
					   .ObserveOn(ThreadPoolScheduler.Instance)
					   .SelectMany(async (_, ct) =>
					   {
						   await viewModel.Unload(ct);
						   return Unit.Default;
					   })
					   .Subscribe(_ => { }, e => { })
					   .DisposeWith(viewModel.LongDisposables);
		}