Пример #1
0
 private void ListViewLocataires_OnItemDragging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == DragAction.Drop)
     {
         _viewModel.DropedItem(e.OldIndex, e.NewIndex);
     }
 }
 private void OnItemDragging(ItemDraggingEventArgs args)
 {
     if (args.Action == DragAction.Drop)
     {
         App.Current.MainPage.DisplayAlert("Message", "ListView item index after reordering " + args.NewIndex, "Ok");
     }
 }
        private void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            if (e.Action == DragAction.Dragging)
            {
                var          currentGroup  = this.GetGroup(e.ItemData);
                var          container     = this.ListView.GetVisualContainer();
                var          groupIndex    = this.ListView.DataSource.Groups.IndexOf(currentGroup);
                var          nextGroup     = (groupIndex + 1 < this.ListView.DataSource.Groups.Count) ? this.ListView.DataSource.Groups[groupIndex + 1] : null;
                ListViewItem groupItem     = null;
                ListViewItem nextGroupItem = null;

                foreach (ListViewItem item in container.Children)
                {
                    if (item.BindingContext == null || !item.Visibility)
                    {
                        continue;
                    }

                    if (item.BindingContext.Equals(currentGroup))
                    {
                        groupItem = item;
                    }

                    if (nextGroup != null && item.BindingContext.Equals(nextGroup))
                    {
                        nextGroupItem = item;
                    }
                }

                if (groupItem != null && e.Bounds.Y <= groupItem.Y + groupItem.Height || nextGroupItem != null && (e.Bounds.Y + e.Bounds.Height >= nextGroupItem.Y))
                {
                    e.Handled = true;
                }
            }
        }
Пример #4
0
 private void ItemsDrasgging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == DragAction.Drop && e.NewIndex != e.OldIndex)
     {
         ReorderDisplay(e.OldIndex, e.NewIndex);
     }
 }
 private void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == DragAction.Drop)
     {
         Device.BeginInvokeOnMainThread(() => ListView.RefreshListViewItem(e.OldIndex, e.NewIndex, true));
     }
 }
        public GroupResult GetGroup(object itemData, ItemDraggingEventArgs args)
        {
            GroupResult itemGroup = null;

            foreach (var item in this.ListView.DataSource.DisplayItems)
            {
                if (itemData is GroupResult)
                {
                    if (args.OldIndex > args.NewIndex && item == itemData)
                    {
                        break;
                    }
                    if (item is GroupResult)
                    {
                        itemGroup = item as GroupResult;
                    }
                    if (args.OldIndex < args.NewIndex && item == itemData)
                    {
                        break;
                    }
                }
                else
                {
                    if (item == itemData)
                    {
                        break;
                    }
                    if (item is GroupResult)
                    {
                        itemGroup = item as GroupResult;
                    }
                }
            }
            return(itemGroup);
        }
Пример #7
0
 private void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == DragAction.Drop)
     {
         viewModel.ItemTabBar.MoveTo(1, 5);
     }
 }
        private async void ToDoListView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            var    position  = new Point();
            var    xPosition = e.Position.X;
            double yPosition = e.Position.Y;

            position.X = xPosition;
            position.Y = yPosition;

            if (e.Action == DragAction.Dragging)
            {
                if (this.WorkDoneListView.Bounds.Contains(position))
                {
                    this.WorkDoneListView.BackgroundColor = Color.Red;
                }
                else
                {
                    this.WorkDoneListView.BackgroundColor = Color.White;
                }
            }
            if (e.Action == DragAction.Drop)
            {
                if (this.WorkDoneListView.Bounds.Contains(position))
                {
                    var item = e.ItemData as ToDoItem;
                    await Task.Delay(100);

                    viewModel.ToDoList.Remove(item);
                    viewModel.WorkDoneList.Add(item);
                    item.IsDone = true;
                }
                this.WorkDoneListView.BackgroundColor = Color.White;
            }
        }
Пример #9
0
        private void Listview_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            var viewModel = (sender as SfListView).BindingContext as ListViewGroupingViewModel;

            if (e.Action == Syncfusion.ListView.XForms.DragAction.Drop)
            {
                viewModel.isDragEndRaised = true;
            }
        }
Пример #10
0
 //Обработчик перетаскивания. При перетаскивании заменяем две строки друг с другом.
 private void MemoryText_ItemDragging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == DragAction.Drop)
     {
         var temp = validate_table[e.OldIndex];
         validate_table.RemoveAt(e.OldIndex);
         validate_table.Insert(e.NewIndex, temp);
     }
 }
Пример #11
0
        private void Bindable_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            var listview    = sender as ListView;
            var totalExtent = listview.GetVisualContainer().Bounds.Bottom;

            if (e.Action == DragAction.Drop && (e.Bounds.Y < -30 || e.Bounds.Bottom > totalExtent + 40))
            {
                //e.Cancel = true;
            }
        }
Пример #12
0
 private void Listview_ItemDragging(object sender, ItemDraggingEventArgs e)
 {
     if (e.Action == Syncfusion.ListView.XForms.DragAction.Drop)
     {
         for (int i = 0; i < viewModel.ContactsInfo.Count; i++)
         {
             viewModel.ContactsInfo[i].IndicatorVisible = false;
         }
     }
 }
        private void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            if (e.Action == DragAction.Drop)
            {
                int dropIndex   = e.NewIndex;
                var dropItem    = ListView.DataSource.DisplayItems[dropIndex];
                var dropedGroup = GetGroup(dropItem, e);

                App.Current.MainPage.DisplayAlert("Dropped group", "" + dropedGroup.Key, "Ok");
            }
        }
Пример #14
0
        private async void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            if (e.Action == DragAction.Start)
            {
                await Task.Delay(100);

                HeaderLabel.IsVisible            = false;
                HeaderTrashStackLayout.IsVisible = true;
            }

            if (e.Action == DragAction.Dragging)
            {
                var position = new Point(e.Position.X - NewsTitleListView.Bounds.X,
                                         e.Position.Y - NewsTitleListView.Bounds.Y);
                if (Header.Bounds.Contains(position))
                {
                    DeleteLabel.TextColor = Color.Red;
                    Trash.Source          = Constants.Images.TrashBinRed;
                }
                else
                {
                    DeleteLabel.TextColor = Color.Black;
                    Trash.Source          = Constants.Images.TrashBin;
                }
            }

            if (e.Action == DragAction.Drop)
            {
                var position = new Point(e.Position.X - NewsTitleListView.Bounds.X,
                                         e.Position.Y - NewsTitleListView.Bounds.Y);
                if (Header.Bounds.Contains(position))
                {
                    await Task.Delay(100);

                    var title = (string)e.ItemData;
                    _editVM.NewsTitle.Remove(title);
                    var page = App.NewsPages.First(x => x.Title == title);
                    if (page != null)
                    {
                        App.NewsPages.Remove(page);
                    }
                }
                else
                {
                    App.NewsPages.MoveTo(e.OldIndex + Constants.DefaultNews.Topics.Count,
                                         e.NewIndex + Constants.DefaultNews.Topics.Count);
                }
                HeaderLabel.IsVisible            = true;
                HeaderTrashStackLayout.IsVisible = false;
            }
        }
Пример #15
0
        private void LvTasks_OnItemDragging(object sender, ItemDraggingEventArgs e)
        {
            if (e.Action == DragAction.Drop)
            {
                ColumnVM column = _viewModel.SelectedBoard.ColumnsCollection[_viewModel.SelectedColumnPosition];
                TaskVM   task   = e.ItemData as TaskVM;

                if (column == null || task == null)
                {
                    return;
                }

                _viewModel.MoveTask(task.Id, column.Id, e.NewIndex);
            }
        }
Пример #16
0
        private void listView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            switch (e.Action)
            {
            case DragAction.Start:
                if (e.ItemData is IntervalTemplate startModel)
                {
                    startModel.InMotion = true;
                }
                break;

            case DragAction.Drop:
                if (e.ItemData is IntervalTemplate dropModel)
                {
                    dropModel.InMotion = false;
                }
                break;
            }
        }
Пример #17
0
        private async void MembresListView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            if (e.Action == DragAction.Start && e.ItemData != null)
            {
                drag = true;
            }

            if (e.Action != DragAction.Drop || e.ItemData == null)
            {
                return;
            }

            Member membre = e.ItemData as Member;

            var membres = KTContext.Db.Teams.AsNoTracking().Where(eq => eq.Id == membre.TeamId).Include(eq => eq.Members).Select(eq => eq.Members).First();

            var trackedSelectedMembre = KTContext.Db.Members.AsTracking().Where(me => me.Id == membre.Id).First();

            trackedSelectedMembre.Position = e.NewIndex;
            KTContext.Db.Entry(trackedSelectedMembre).State = EntityState.Modified;

            int pos = 0;

            foreach (Member m in membres.Where(m => m.Id != membre.Id).OrderBy(m => m.Position))
            {
                if (pos == e.NewIndex)
                {
                    pos++;
                }

                var trackedmembre = KTContext.Db.Members.AsTracking().Where(me => me.Id == m.Id).First();
                trackedmembre.Position = pos;
                KTContext.Db.Entry(trackedmembre).State = EntityState.Modified;
                pos++;
            }
            KTContext.Db.SaveChanges();
            await Task.Delay(500);

            drag = false;
        }
        private async void ListView_ItemDragging(object sender, ItemDraggingEventArgs e)
        {
            /* Delete the drag item when drop into the particular view. */
            var viewModel = this.ListView.BindingContext as ViewModel;

            if (e.Action == DragAction.Start)
            {
                this.headerLabel.IsVisible = false;
                viewModel.IsVisible        = true;
            }

            if (e.Action == DragAction.Dragging)
            {
                var position = new Point(e.Position.X - this.ListView.Bounds.X, e.Position.Y - this.ListView.Bounds.Y);
                if (this.Stack.Bounds.Contains(position))
                {
                    this.deleteLabel.TextColor = Color.Red;
                }
                else
                {
                    this.deleteLabel.TextColor = Color.White;
                }
            }

            if (e.Action == DragAction.Drop)
            {
                var position = new Point(e.Position.X - this.ListView.Bounds.X, e.Position.Y - this.ListView.Bounds.Y);
                if (this.Stack.Bounds.Contains(position))
                {
                    await Task.Delay(100);

                    viewModel.ToDoList.Remove(e.ItemData as ToDoItem);
                }
                viewModel.IsVisible        = false;
                this.deleteLabel.TextColor = Color.White;
                this.headerLabel.IsVisible = true;
            }
        }