public MenuContentViewModel( IPreferencesService preferencesService, MenuNavigationHelper menuNavigationHelper) { _preferencesService = preferencesService; _menuNavigationHelper = menuNavigationHelper; OpenClosePaneCommand = ReactiveCommand.Create(OpenClosePaneCommandExecuted); this.ObservableForProperty(x => x.SelectedMenuItem) .Subscribe(args => OnSelectedMenuItemChanged(args.Value)); menuNavigationHelper.ObservableForProperty(x => x.CurrentPageType) .Where(args => args.Value != null) .Subscribe(args => OnSelectedMenuItemChangedInternal(args.Value, menuNavigationHelper.Param)); FillMenuItems(); SelectedMenuItem = MenuItems.First(); }