public static IObservable <bool> ConstructCanNavigateBack(this IBackNavigatingVM vm) { return(vm.WhenAny(x => x.NavigateBackTarget) .Select(x => x != null)); }
public static IObservable <bool> ConstructIsActive(this IBackNavigatingVM vm, MainWindowVM mwvm) { return(mwvm.WhenAny(x => x.ActivePane) .Select(x => object.ReferenceEquals(vm, x))); }
public static IObservable <bool> ConstructCanNavigateBack(this IBackNavigatingVM vm) { return(vm.WhenAny(x => x.NavigateBackTarget) .CombineLatest(vm.IsBackEnabled) .Select(x => x.First != null && x.Second)); }