public WindowViewModel(IObjectProvider objectProvider, IWindowFactory windowFactory) { _objectProvider = objectProvider; _interTabClient = new InterTabClient(windowFactory); _showMenuCommand = new Command(ShowMenu,()=> Selected!=null && !(Selected.Content is MenuItems)); _showInGitHubCommand = new Command(()=> Process.Start("https://github.com/RolandPheasant")); var menuController = _data.ToObservableChangeSet() .Filter(vc => vc.Content is MenuItems) .Transform(vc => (MenuItems) vc.Content) .MergeMany(menuItem => menuItem.ItemCreated) .Subscribe(item => { _data.Add(item); Selected = item; }); _cleanUp = Disposable.Create(() => { menuController.Dispose(); foreach (var disposable in _data.Select(vc=>vc.Content).OfType<IDisposable>()) disposable.Dispose(); }); }
public PageParameterData(int currentPage, int pageSize) { _currentPage = currentPage; _pageSize = pageSize; _nextPageCommand = new Command(() => CurrentPage = CurrentPage + 1, () => CurrentPage < PageCount); _previousPageCommand = new Command(() => CurrentPage = CurrentPage - 1, () => CurrentPage > 1); }