Ejemplo n.º 1
0
        private void AnimateItems(RadVirtualizingDataControlItem item1, double offset1, RadVirtualizingDataControlItem item2, double offset2)
        {
            this.AnimateScrollOffsetToFocusItem(item2.next == item1 || item2.next == null);

            if (this.owner.virtualizationStrategy.LayoutOrientation == Orientation.Vertical)
            {
                Storyboard.SetTargetProperty(this.da1, "(Canvas.Top)");
                Storyboard.SetTarget(this.da1, item1);
                Storyboard.SetTargetProperty(this.da2, "(Canvas.Top)");
                Storyboard.SetTarget(this.da2, item2);
            }
            else
            {
                Storyboard.SetTargetProperty(this.da1, "(Canvas.Left)");
                Storyboard.SetTarget(this.da1, item1);

                Storyboard.SetTargetProperty(this.da2, "(Canvas.Left)");
                Storyboard.SetTarget(this.da2, item2);
            }

            this.da1.From = item1.CurrentOffset;
            this.da1.To   = offset1;
            this.da2.From = item2.CurrentOffset;
            this.da2.To   = offset2;

            this.sb.Begin();
            this.animating = true;
        }
Ejemplo n.º 2
0
        internal void ShiftTargetItemUp(bool animate)
        {
            if (!this.owner.listSource.CanShiftItemIndexUp(this.targetItem.associatedDataItem) || this.animating)
            {
                return;
            }

            this.swappedItem = this.targetItem.next;

            double nextItemOffset = this.swappedItem.CurrentOffset +
                                    (this.owner.virtualizationStrategy.GetItemLength(this.swappedItem) - this.owner.virtualizationStrategy.GetItemLength(this.targetItem));

            RadVirtualizingDataControlItem item1 = this.swappedItem;
            RadVirtualizingDataControlItem item2 = this.targetItem;

            if (animate)
            {
                this.AnimateItems(item1, this.targetItem.CurrentOffset, item2, nextItemOffset);
            }
            else
            {
                this.owner.virtualizationStrategy.SetItemOffset(this.swappedItem, this.targetItem.CurrentOffset);
                this.owner.virtualizationStrategy.SetItemOffset(this.targetItem, nextItemOffset);
            }

            this.targetItem.next = this.swappedItem.next;

            if (this.swappedItem.next != null)
            {
                this.swappedItem.next.previous = this.targetItem;
            }

            this.swappedItem.next = this.targetItem;

            if (this.targetItem.previous != null)
            {
                this.targetItem.previous.next = this.swappedItem;
            }

            this.swappedItem.previous = this.targetItem.previous;
            this.targetItem.previous  = this.swappedItem;

            int itemIndex = this.owner.realizedItems.IndexOf(this.targetItem);

            this.owner.realizedItems.RemoveAt(itemIndex);
            this.owner.realizedItems.Insert(itemIndex + 1, this.targetItem);
            this.owner.firstItemCache = this.owner.realizedItems[0];
            this.owner.lastItemCache  = this.owner.realizedItems[this.owner.realizedItems.Count - 1];

            this.owner.listSource.ShiftItemIndexUp(this.targetItem.associatedDataItem);

            this.EvaluateButtonsAvailability();
        }
Ejemplo n.º 3
0
 protected override void ClearContainerForItemOverride(RadVirtualizingDataControlItem element, Telerik.Windows.Data.IDataSourceItem item)
 {
     base.ClearContainerForItemOverride(element, item);
     element.ContentTemplate = null;
 }
Ejemplo n.º 4
0
 protected override void ClearContainerForItemOverride(RadVirtualizingDataControlItem element, Telerik.Windows.Data.IDataSourceItem item)
 {
     base.ClearContainerForItemOverride(element, item);
     element.ContentTemplate = null;
 }