diff --git a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs index 77db7669..3fddf05b 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/MainViewModel.cs @@ -48,6 +48,20 @@ namespace AideDeJeu.ViewModels } public ObservableCollection Items { get; private set; } = new ObservableCollection(); + private Item _SelectedItem; + public Item SelectedItem + { + get + { + return _SelectedItem; + } + set + { + SetProperty(ref _SelectedItem, value); + GotoItemCommand.Execute(_SelectedItem); + } + } + public Command LoadItemsCommand { get; private set; } public Command GotoItemCommand { get; private set; } diff --git a/AideDeJeu/AideDeJeu/Views/MainPage.xaml b/AideDeJeu/AideDeJeu/Views/MainPage.xaml index 4779ea7e..c34f9c93 100644 --- a/AideDeJeu/AideDeJeu/Views/MainPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/MainPage.xaml @@ -2,12 +2,11 @@ + Title="{Binding ItemsType,Converter={StaticResource ItemTypeToStringConverter}}"> @@ -80,7 +79,6 @@ - @@ -89,20 +87,6 @@ - - - @@ -110,65 +94,30 @@ - + + ItemsSource="{Binding Items}" + VerticalOptions="FillAndExpand" + HasUnevenRows="true" + RefreshCommand="{Binding LoadItemsCommand}" + IsPullToRefreshEnabled="true" + IsRefreshing="{Binding IsBusy, Mode=OneWay}" + CachingStrategy="RecycleElement" + SelectedItem="{Binding SelectedItem}"> - - - - \ No newline at end of file diff --git a/AideDeJeu/AideDeJeu/Views/MainPage.xaml.cs b/AideDeJeu/AideDeJeu/Views/MainPage.xaml.cs index 9c534920..d552e269 100644 --- a/AideDeJeu/AideDeJeu/Views/MainPage.xaml.cs +++ b/AideDeJeu/AideDeJeu/Views/MainPage.xaml.cs @@ -27,35 +27,6 @@ namespace AideDeJeu.Views return true; } - - async void OnItemSelected(object sender, SelectedItemChangedEventArgs args) - { - viewModel.GotoItemCommand.Execute(args.SelectedItem); - //if (args.SelectedItem is Spell) - //{ - // var item = args.SelectedItem as Spell; - // if (item == null) - // return; - - // var vm = new SpellDetailViewModel(item); - // vm.LoadItemCommand.Execute(null); - // await Navigation.PushAsync(new SpellDetailPage(vm)); - //} - //else if (args.SelectedItem is Monster) - //{ - // var item = args.SelectedItem as Monster; - // if (item == null) - // return; - - // var vm = new MonsterDetailViewModel(item); - // vm.LoadItemCommand.Execute(null); - // await Navigation.PushAsync(new MonsterDetailPage(vm)); - //} - - // Manually deselect item. - ItemsListView.SelectedItem = null; - } - protected override void OnAppearing() { base.OnAppearing();