예제 #1
0
        protected void PrepareDraggedElementsForDragging()
        {
            this.originalTransforms.Clear();
            this.storedValues.Clear();
            foreach (BaseFrameworkElement frameworkElement in this.DraggedElements)
            {
                this.originalTransforms.Add((Transform)null);
                this.storedValues.Add((Dictionary <IPropertyId, object>)null);
            }
            bool flag = false;

            for (int index = 0; index < this.DraggedElements.Count; ++index)
            {
                BaseFrameworkElement frameworkElement = this.DraggedElements[index];
                if (frameworkElement.IsAttached)
                {
                    SceneElement sceneElement = frameworkElement.Parent as SceneElement;
                    if (sceneElement != null && PlatformTypes.InlineUIContainer.IsAssignableFrom((ITypeId)sceneElement.Type))
                    {
                        sceneElement = sceneElement.Parent as SceneElement;
                    }
                    if (sceneElement != null && sceneElement.GetChildren() != null && frameworkElement.Visual != null)
                    {
                        this.storedValues[index] = InplaceMoveStrategy.StoreProperties(frameworkElement.Platform, frameworkElement.Visual, this.PropertiesToStore);
                        this.SetPropertyOnVisual((SceneElement)frameworkElement, PanelElement.ZIndexProperty, (object)int.MaxValue);
                        this.SetPropertyOnVisual((SceneElement)frameworkElement, Base2DElement.OpacityProperty, (object)0.5);
                        frameworkElement.IsPlaceholder = true;
                        flag = true;
                    }
                }
            }
            this.Context.Transaction.UpdateEditTransaction();
            if (!flag)
            {
                return;
            }
            this.Context.ToolBehaviorContext.Tool.RebuildAdornerSets();
        }