private void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == DragAction.Drop)
     {
         Device.BeginInvokeOnMainThread(() => ListView.RefreshListViewItem(e.OldIndex, e.NewIndex, true));
     }
 }
Пример #2
0
        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); });
            }
        }
Пример #3
0
        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();
            });
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
            }
        }