private void Tags_ItemClick(object sender, ItemClickEventArgs e) { if (ItemClickCommand?.CanExecute(e.ClickedItem) ?? false) { ItemClickCommand.Execute(e.ClickedItem); } }
public AmpTableViewSource(UITableView tableView) : base(tableView, typeof(T).Name, typeof(T).Name) { SelectedItemChanged += (sender, e) => { ItemClickCommand.ExecuteIfPossible(SelectedItem); }; }
private void OnItemClick(object sender, ItemClickEventArgs e) { if (ItemClickCommand != null) { if (ItemClickCommand.CanExecute(e.ClickedItem)) { ItemClickCommand.Execute(e.ClickedItem); } } }
private void OnItemTapped(object sender, ItemTappedEventArgs e) { if (e.Item != null && ItemClickCommand != null && ItemClickCommand.CanExecute(e.Item)) { ItemClickCommand.Execute(e.Item); } if (!AllowSelectItem) { SelectedItem = null; } }
private void OnItemTapped(object sender, ItemTappedEventArgs e) { if (e.Item != null) { var execute = ItemClickCommand?.CanExecute(e); if (execute.HasValue && execute.Value) ItemClickCommand?.Execute(e.Item); if (!MaintainSelection) this.SelectedItem = null; } }
public override bool IsEnabled(int position) { if ((HasHeader() && position == 0) || (HasFooter() && position == Count - 1)) { return(false); } else { if (ItemClickCommand != null) { return(ItemClickCommand.CanExecute(GetRawItem(position))); } else { return(base.IsEnabled(position)); } } }
public override bool IsEnabled(int position) { var item = GetItemAt(position); if (item is ItemWrapperBase) { return(false); } else { if (ItemClickCommand != null) { return(ItemClickCommand.CanExecute(item)); } else { return(base.IsEnabled(position)); } } }
internal override void OnItemClicked(int clickedIndex) { // Note: don't call base.OnItemClicked(), because we override the default single-selection-only handling var item = ItemFromIndex(clickedIndex); if (IsItemClickEnabled) { // This is required for the NavigationView which references a non-public issue (#17546992 in NavigationViewList) IsItemItsOwnContainerOverride(item); ItemClickCommand.ExecuteIfPossible(item); ItemClick?.Invoke(this, new ItemClickEventArgs { ClickedItem = item }); } //Handle selection switch (SelectionMode) { case ListViewSelectionMode.None: break; case ListViewSelectionMode.Single: if (ItemsSource is ICollectionView collectionView) { //NOTE: Windows seems to call MoveCurrentTo(item); we set position instead to have expected behavior when you have duplicate items in the list. collectionView.MoveCurrentToPosition(clickedIndex); // The CollectionView may have intercepted the change clickedIndex = collectionView.CurrentPosition; } SelectedIndex = clickedIndex; break; case ListViewSelectionMode.Multiple: case ListViewSelectionMode.Extended: HandleMultipleSelection(clickedIndex, item); break; } }
private void ExecuteItemCommand(int clickCount) { if (clickCount > 1) { if (ItemDoubleClickCommand != null) { if (ItemDoubleClickCommand.CanExecute(ItemDoubleClickCommandParameter)) { ItemDoubleClickCommand.Execute(ItemDoubleClickCommandParameter); } } } else { if (ItemClickCommand != null) { if (ItemClickCommand.CanExecute(ItemClickCommandParameter)) { ItemClickCommand.Execute(ItemClickCommandParameter); } } } }
internal override void OnItemClicked(int clickedIndex) { var item = ItemFromIndex(clickedIndex); if (IsItemClickEnabled) { ItemClickCommand.ExecuteIfPossible(item); ItemClick?.Invoke(this, new ItemClickEventArgs { ClickedItem = item }); } //Handle selection switch (SelectionMode) { case ListViewSelectionMode.None: break; case ListViewSelectionMode.Single: if (ItemsSource is ICollectionView collectionView) { //NOTE: Windows seems to call MoveCurrentTo(item); we set position instead to have expected behavior when you have duplicate items in the list. collectionView.MoveCurrentToPosition(clickedIndex); // The CollectionView may have intercepted the change clickedIndex = collectionView.CurrentPosition; } SelectedIndex = clickedIndex; break; case ListViewSelectionMode.Multiple: case ListViewSelectionMode.Extended: HandleMultipleSelection(clickedIndex, item); break; } }
private void ExListView_ItemTapped(object sender, ItemTappedEventArgs e) { ItemClick?.Invoke(this, new SelectedItemChangedEventArgs(e.Item)); ItemClickCommand?.Execute(e.Item); SelectedItem = null; }