public static void UpdateSelection(this RecyclerView recyclerView, SelectableItemsView selectableItemsView) { var mode = selectableItemsView.SelectionMode; var adapter = (recyclerView.GetAdapter() as SelectableItemsViewAdapter <SelectableItemsView, IItemsViewSource>); adapter?.ClearPlatformSelection(); switch (mode) { case SelectionMode.None: return; case SelectionMode.Single: var selectedItem = selectableItemsView.SelectedItem; adapter.MarkPlatformSelection(selectedItem); return; case SelectionMode.Multiple: var selectedItems = selectableItemsView.SelectedItems; foreach (var item in selectedItems) { adapter.MarkPlatformSelection(item); } return; } }
protected override void SetUpNewElement(ItemsView newElement) { base.SetUpNewElement(newElement); _selectableItemsView = newElement as SelectableItemsView; if (_selectableItemsView != null) { _selectableItemsView.SelectionChanged += OnSelectionChanged; } var newListViewBase = ListViewBase; if (newListViewBase != null) { newListViewBase.SetBinding(ListViewBase.SelectionModeProperty, new Windows.UI.Xaml.Data.Binding { Source = _selectableItemsView, Path = new Windows.UI.Xaml.PropertyPath("SelectionMode"), Converter = new SelectionModeConvert(), Mode = Windows.UI.Xaml.Data.BindingMode.TwoWay }); newListViewBase.SelectionChanged += OnNativeSelectionChanged; } UpdateNativeSelection(); }
public static void UpdateSelection(this RecyclerView recyclerView, SelectableItemsView selectableItemsView) { var mode = selectableItemsView.SelectionMode; //TODO: on NET7 implement a ISelectableItemsViewAdapter interface on the adapter var adapter = recyclerView.GetAdapter() as ReorderableItemsViewAdapter <ReorderableItemsView, IGroupableItemsViewSource>; adapter?.ClearPlatformSelection(); switch (mode) { case SelectionMode.None: return; case SelectionMode.Single: var selectedItem = selectableItemsView.SelectedItem; adapter.MarkPlatformSelection(selectedItem); return; case SelectionMode.Multiple: var selectedItems = selectableItemsView.SelectedItems; foreach (var item in selectedItems) { adapter.MarkPlatformSelection(item); } return; } }
private async void OnItemSelected(object sender, SelectableItemsView e) { if (ListDatos.SelectedItem != null) { var detailPage = new Medicamentos(); detailPage.BindingContext = e.SelectedItem as Product; ListDatos.SelectedItem = null; await Navigation.PushModalAsync(detailPage); } }
public async void EliminarRegistro(object sender, SelectableItemsView args) { if (consulta.SelectedIndex == 0 || consulta.SelectedIndex == -1) { var item = args.SelectedItem as Resultado4Temp; await Application.Current.MainPage.DisplayAlert("Mensaje de Error", "Estas seguro que quieres eliminar " + item.player1 + "vs" + item.player2, "OK"); } else if (consulta.SelectedIndex == 1) { var item = args.SelectedItem as Resultados; await Application.Current.MainPage.DisplayAlert("Mensaje de Error", "Estas seguro que quieres eliminar " + item.player1 + "vs" + item.player2, "OK"); } }
protected override void OnElementChanged(ElementChangedEventArgs <CollectionView> args) { var oldListViewBase = ListViewBase; if (oldListViewBase != null) { oldListViewBase.ClearValue(ListViewBase.SelectionModeProperty); oldListViewBase.SelectionChanged -= OnNativeSelectionChanged; } if (args.OldElement != null) { args.OldElement.SelectionChanged -= OnSelectionChanged; } base.OnElementChanged(args); _selectableItemsView = args.NewElement; if (_selectableItemsView != null) { _selectableItemsView.SelectionChanged += OnSelectionChanged; } var newListViewBase = ListViewBase; if (newListViewBase != null) { newListViewBase.SetBinding(ListViewBase.SelectionModeProperty, new Windows.UI.Xaml.Data.Binding { Source = _selectableItemsView, Path = new Windows.UI.Xaml.PropertyPath("SelectionMode"), Converter = new SelectionModeConvert(), Mode = Windows.UI.Xaml.Data.BindingMode.TwoWay }); newListViewBase.SelectionChanged += OnNativeSelectionChanged; } UpdateNativeSelection(); }
internal SelectableItemsViewAdapter(SelectableItemsView selectableItemsView, Func <IVisualElementRenderer, Context, global::Android.Views.View> createView = null) : base(selectableItemsView, createView) { SelectableItemsView = selectableItemsView; }
internal SelectableItemsViewAdapter(SelectableItemsView selectableItemsView, Func <View, Context, ItemContentView> createView = null) : base(selectableItemsView, createView) { SelectableItemsView = selectableItemsView; }
public SelectableItemsViewController(SelectableItemsView selectableItemsView, ItemsViewLayout layout) : base(selectableItemsView, layout) { }
public static void MapSelectionMode(SelectableItemsViewHandler <TItemsView> handler, SelectableItemsView itemsView) { }
public static void MapSelectedItem(SelectableItemsViewHandler <TItemsView> handler, SelectableItemsView itemsView) { if (itemsView.SelectionMode != SelectionMode.None && itemsView.SelectedItem != null) { var index = handler.PlatformView.Adaptor.GetItemIndex(itemsView.SelectedItem); handler.PlatformView.SelectedItemIndex = index; } }
public static void MapSelectionMode(SelectableItemsViewHandler <TItemsView> handler, SelectableItemsView itemsView) { handler.PlatformView.SelectionMode = itemsView.SelectionMode.ToPlatform(); }
public static void MapSelectionMode(SelectableItemsViewHandler <TItemsView> handler, SelectableItemsView itemsView) { (handler.Controller as SelectableItemsViewController <TItemsView>)?.UpdateSelectionMode(); }
public static void MapItemsSource(SelectableItemsViewHandler <TItemsView> handler, SelectableItemsView itemsView) { ItemsViewHandler <TItemsView> .MapItemsSource(handler, itemsView); MapSelectedItem(handler, itemsView); }
public SelectableItemsViewController(SelectableItemsView selectableItemsView, ItemsViewLayout layout) : base(selectableItemsView, layout) { SelectableItemsView = selectableItemsView; Delegator.SelectableItemsViewController = this; }
public static void MapSelectedItems(SelectableItemsViewHandler <TItemsView> handler, SelectableItemsView itemsView) { (handler.Controller as SelectableItemsViewController <TItemsView>)?.UpdatePlatformSelection(); }