public EmployeesViewModel(IScreen hostScreen, IEmployeesService employeesService) { HostScreen = hostScreen; _employeesService = employeesService; AddEmployee = ReactiveCommand.Create(() => { HostScreen.Router.Navigate.Execute(new AddEmployeeViewModel(HostScreen, new EmployeeModel(), _employeesService)); }); EditEmployee = ReactiveCommand.Create(() => { HostScreen.Router.Navigate.Execute(new EditEmployeeViewModel(HostScreen, SelectedEmployee, _employeesService)); }); this.WhenActivated((CompositeDisposable disposables) => { _employeesService .Connect() .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _items) .Subscribe() .DisposeWith(disposables); }); }