public virtual bool UpdateSelectedBindValue(UICollectionViewCell cell, bool selected) { var collectionView = CollectionView; if (collectionView == null || collectionView.AllowsMultipleSelection) { return(selected); } if (!collectionView.AllowsSelection) { return(false); } if (HasMask(cell, InitializingStateMask)) { if (Equals(cell.DataContext(), SelectedItem)) { return(true); } return(selected && SelectedItem == null); } return(selected); }
public virtual void OnCellSelectionChanged(UICollectionViewCell cell, bool selected, bool setFromBinding) { var collectionView = CollectionView; if (!setFromBinding || collectionView == null) { return; } UpdateSelectedItemInternal(collectionView, cell.DataContext(), selected); var path = IndexPathForCell(collectionView, cell); if (path == null) { return; } if (selected) { collectionView.SelectItem(path, false, UICollectionViewScrollPosition.None); } else { collectionView.DeselectItem(path, false); } }
public virtual void OnCellSelectionChanged(UICollectionViewCell cell, bool selected, bool setFromBinding) { var collectionView = CollectionView; if (!setFromBinding || collectionView == null) return; UpdateSelectedItemInternal(collectionView, cell.DataContext(), selected); var path = IndexPathForCell(collectionView, cell); if (path == null) return; if (selected) collectionView.SelectItem(path, false, UICollectionViewScrollPosition.None); else collectionView.DeselectItem(path, false); }
public virtual bool UpdateSelectedBindValue(UICollectionViewCell cell, bool selected) { var collectionView = CollectionView; if (collectionView == null || collectionView.AllowsMultipleSelection) return selected; if (!collectionView.AllowsSelection) return false; if (HasMask(cell, InitializingStateMask)) { if (Equals(cell.DataContext(), SelectedItem)) return true; return selected && SelectedItem == null; } return selected; }