public CatrobatListViewWorker() { _verticalItemMargin = 0; _reorderEnabled = false; GroupingEnabled = true; _dragging = CatrobatListViewDragStaus.NotDragging; _draggingItem = null; SmartSelectedItems = new ObservableCollection<object>(); SmartSelectedItems.CollectionChanged += SmartSelectedItems_CollectionChanged; _autoScrollOldYValue = 0; _rearrangeOldYValue = 0; SelectionEnabled = false; }
public CatrobatListViewWorker() { _verticalItemMargin = 0; _reorderEnabled = false; GroupingEnabled = true; _dragging = CatrobatListViewDragStaus.NotDragging; _draggingItem = null; SmartSelectedItems = new ObservableCollection <object>(); SmartSelectedItems.CollectionChanged += SmartSelectedItems_CollectionChanged; _autoScrollOldYValue = 0; _rearrangeOldYValue = 0; SelectionEnabled = false; }
private void AddSnapshotToManipulationCanvas(double yPos) { _manipulationCanvas.Children.Clear(); CatrobatListViewItem tmpItemClone = GenerateDraggingItemClone(); if (_dragging == CatrobatListViewDragStaus.PrepareDraggin) { Items[Items.IndexOf(_originalDragContent.Content)] = _tmpDragContentControl; SetTmpDragContentHeight(); _manipulationCanvas.Children.Add(tmpItemClone); Canvas.SetLeft(tmpItemClone, ActualWidth - tmpItemClone.Width); SetYPositionTo(yPos); _manipulationCanvas.Visibility = Visibility.Visible; _dragging = CatrobatListViewDragStaus.Dragging; } }
private void EndDrag() { if (_dragging == CatrobatListViewDragStaus.NotDragging) { return; } _dragging = CatrobatListViewDragStaus.NotDragging; _manipulationCanvas.Visibility = Visibility.Collapsed; if (Items.IndexOf(_tmpDragContentControl) != -1) { ItemDragCompletedEvent(this, new CatrobatListViewEventArgs(_tmpDragContentControl, _originalDragContent, null, null, _draggingGroupList)); if (_draggingGroupList != null && _draggingGroupList.Count > 0) { _draggingGroupList.Clear(); _draggingItem = null; var tmpItem = ContainerFromItem(_originalDragContent.Content) as CatrobatListViewItem; GroupItem(tmpItem); } } }
private void StartDrag(int index, double yPos) { var tmpItem = this.ContainerFromIndex(index) as CatrobatListViewItem; if (tmpItem == null || tmpItem.ReorderEnabled == false) { return; } _dragging = CatrobatListViewDragStaus.PrepareDraggin; _draggingItem = tmpItem; InitDragContentObject(); if (_draggingItem.IsGrouped) { InitDragGroupList(); } MoveValidationCalculation(index); AddSnapshotToManipulationCanvas(yPos); }