public static IDisposable SyncViewModelDeActivation(this ISupportActivationState source, ISupportActivationState viewModel) { return(source.ActivationStateChanged .Subscribe(x => { if (!x) { viewModel.DeActivate(); } })); }
public static IDisposable SyncViewModelActivationStates(this ISupportActivationState source, ISupportActivationState viewModel) { return source.ActivationStateViewModel.ActivationStateChanged .Subscribe(x => { if (x) viewModel.ActivationStateViewModel.Activate(); else viewModel.ActivationStateViewModel.DeActivate(); }); }
public static IDisposable SyncToolBarItemWithViewModelActivationState(this ISupportActivationState source, params IToolBarItem[] toolBarItems) { foreach (var toolBarItem in toolBarItems) { toolBarItem.IsVisible = source.IsActive; } return(source.ActivationStateChanged .Subscribe(x => { foreach (var toolBarItem in toolBarItems) { toolBarItem.IsVisible = x; } })); }