public void OnListItemSelected (object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem != null) { if (e.SelectedItem is CategoryViewModel) { Category selectedCategory = ((CategoryViewModel)e.SelectedItem).Category; //probably should not display category at all, but now its better than crash if (selectedCategory.Articles.Count == 0) return; ContentPage nextPage; if (selectedCategory.Articles.Count > 1) { nextPage = new ArticleListPage () { ViewModel = new ArticleListViewModel (selectedCategory) }; } else { nextPage = new TextArticlePage () { ViewModel = new ArticleViewModel (selectedCategory.Articles [0]) }; } Navigation.PushAsync (nextPage); } else if (e.SelectedItem is ArticleViewModel) { ArticleViewModel selectedSearchArtile = (ArticleViewModel)e.SelectedItem; var articlePage = new TextArticlePage () { ViewModel = selectedSearchArtile }; Navigation.PushAsync (articlePage); } myListView.SelectedItem = null; } }
public void OnArticleSelected(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem != null) { TextArticle selectedArticle = ((ArticleViewModel)e.SelectedItem).Article; TextArticlePage nextPage = new TextArticlePage () { ViewModel = new ArticleViewModel (selectedArticle) }; Navigation.PushAsync (nextPage); myListView.SelectedItem = null; } }