private void ListView_ItemDragging(object sender, ItemDraggingEventArgs e) { if (e.Action == DragAction.Drop) { Device.BeginInvokeOnMainThread(() => ListView.RefreshListViewItem(e.OldIndex, e.NewIndex, true)); } }
private void TappedGestureCommandMethod(object obj) { var tappedItemData = obj as Contact; if (TappedItem != null && TappedItem.IsVisible) { var previousIndex = listView.DataSource.DisplayItems.IndexOf(TappedItem); TappedItem.IsVisible = false; if (Device.RuntimePlatform != Device.macOS) { Device.BeginInvokeOnMainThread(() => { listView.RefreshListViewItem(previousIndex, previousIndex, false); }); } } if (TappedItem == tappedItemData) { if (Device.RuntimePlatform == Device.macOS) { var previousIndex = listView.DataSource.DisplayItems.IndexOf(TappedItem); Device.BeginInvokeOnMainThread(() => { listView.RefreshListViewItem(previousIndex, previousIndex, false); }); } TappedItem = null; return; } TappedItem = tappedItemData; TappedItem.IsVisible = true; if (Device.RuntimePlatform == Device.macOS) { var visibleLines = listView.GetVisualContainer().ScrollRows.GetVisibleLines(); var firstIndex = visibleLines[visibleLines.FirstBodyVisibleIndex].LineIndex; var lastIndex = visibleLines[visibleLines.LastBodyVisibleIndex].LineIndex; Device.BeginInvokeOnMainThread(() => { listView.RefreshListViewItem(firstIndex, lastIndex, false); }); } else { var currentIndex = listView.DataSource.DisplayItems.IndexOf(tappedItemData); Device.BeginInvokeOnMainThread(() => { listView.RefreshListViewItem(currentIndex, currentIndex, false); }); } }
void TapGestureRecognizerDelete_Tapped(System.Object sender, System.EventArgs e) { sfListRoutePoints.ResetSwipe(true); var selectedItem = ((Xamarin.Forms.TappedEventArgs)e).Parameter; AutoGeneratedPoint selectedPoint = (AutoGeneratedPoint)selectedItem; var indexItem = _listView.DataSource.DisplayItems.IndexOf(selectedPoint); selectedPoint.IsDeleted = !selectedPoint.IsDeleted; Device.BeginInvokeOnMainThread(() => { _listView.RefreshListViewItem(indexItem, indexItem, true); _vm.UpdateRouteInfo(); }); }
private void ResizeHeaderFooter(object obj) { list = obj as SfListView; var maxFont = Device.Idiom == TargetIdiom.Phone ? MaxPhone : MaxTablet; var minFont = (Device.Idiom == TargetIdiom.Phone) ? MinPhone : MinTablet; if (FontSize >= maxFont) { FontSize = minFont; } else { FontSize += 10; } list.RefreshListViewItem(-1, -1, true); }
private void ListView_ItemTapped(object sender, Syncfusion.ListView.XForms.ItemTappedEventArgs e) { var groupResult = e.ItemData as GroupResult; if (e.ItemType is ItemType.GroupHeader) { foreach (var item in groupResult.Items) { if (!(item as Contacts).IsHeaderTapped) { (item as Contacts).IsHeaderTapped = true; } else { (item as Contacts).IsHeaderTapped = false; } } listView.RefreshListViewItem(-1, -1, true); } }