private View GetItemView(object item) { var content = ItemTemplate.CreateContent(); if (!(content is View) && !(content is ViewCell)) { throw new InvalidViewException("Templated control must be a View or a ViewCell"); } var view = content is View ? content as View : ((ViewCell)content).View; view.BindingContext = item; if (SelectedItemCommand != null && SelectedItemCommand.CanExecute(item)) { BindSelectedItemCommand(view); } if (ShowSeparator && ItemsSource.Cast <object>().Last() != item) { var container = new StackLayout { Spacing = 0 }; container.Children.Add(view); container.Children.Add(BuildSeparator()); return(container); } return(view); }
public UserListPage() { InitializeComponent(); UserListView.ItemSelected += (object sender, SelectedItemChangedEventArgs e) => { if (e.SelectedItem != null) { var UserModel = e.SelectedItem as UserListModel; SelectedItemCommand?.Execute(UserModel); } }; }
private void SuggestedRepeaterItemSelected(object selectedItem) { MainEntry.Text = GetSelectedText(selectedItem); MainEntry.TextColor = TextColor; ShowHideListbox(false); _availableSuggestions.Clear(); SelectedItem = selectedItem; SelectedItemCommand?.Execute(selectedItem); }
private void OnTapped(object sender, EventArgs e) { var itemCtrl = sender as ItemContainer; if (itemCtrl != null) { itemCtrl.IsSelected = true; Selected?.Invoke(this, EventArgs.Empty); if (SelectedItemCommand?.CanExecute(SelectedItem) == true) { SelectedItemCommand.Execute(SelectedItem); } } }
private void InfiniteListView_ItemSelected(object sender, SelectedItemChangedEventArgs e) { if (e.SelectedItem == null) { return; } SelectedItem = null; if (SelectedItemCommand != null && SelectedItemCommand.CanExecute(e.SelectedItem)) { SelectedItemCommand.Execute(e.SelectedItem); } }
private void SuggestedRepeaterItemSelected(object selectedItem) { MainEntry.Text = GetSelectedText(selectedItem); MainEntry.TextColor = TextColor; ShowHideListbox(false); _availableSuggestions.Clear(); SelectedItem = selectedItem; SelectedItemCommand?.Execute(selectedItem); MainEntry.Text = string.Empty; OnSelectedItem?.Invoke(this, new EventArgs()); }
private void BindSelectedItemCommand(View view) { if (!SelectedItemCommand.CanExecute(view.BindingContext)) { return; } var tapGestureRecognizer = new TapGestureRecognizer { Command = SelectedItemCommand, CommandParameter = view.BindingContext }; if (view.GestureRecognizers.Any()) { view.GestureRecognizers.Clear(); } view.GestureRecognizers.Add(tapGestureRecognizer); }