using System.Collections.ObjectModel; using Navigation_Between.Interface; using Navigation_Between.Model; using Navigation_Between.Service; using Navigation_Between.View; namespace Navigation_Between.ViewModel; public class MainViewModel { public ObservableCollection Users { get; set; } public Command SelectUserCommand { get; } private readonly INavigation _navigation; private readonly IAlertService _alertService; private readonly DataService _dataService; public MainViewModel(INavigation navigation, DataService dataService, IAlertService alertService) { _navigation = navigation; _dataService = dataService; _alertService = alertService; Users = new ObservableCollection(_dataService.GetUsers()); SelectUserCommand = new Command(OnItemSelected); } async void OnItemSelected(User user){ if(user != null) await _navigation.PushAsync(new DetailedPage(user)); } }