Beispiel #1
0
        protected override bool OnQueryCanDrop(TimelineDragDescriptor descriptor)
        {
            DataBindingDragDropModel dragFeedback = this.DragFeedback;

            if (dragFeedback == null || dragFeedback.DropFlags == DataBindingDragDropFlags.None)
            {
                return(false);
            }
            descriptor.DisableCopy();
            descriptor.SetDataBindingTo((ISceneInsertionPoint)this.BindingInsertionPoint);
            descriptor.UserData = (object)dragFeedback;
            return(true);
        }
Beispiel #2
0
        private void SetDataBinding(DataBindingDragDropModel feedback)
        {
            if (feedback == null)
            {
                return;
            }
            this.SourceName = feedback.SourceName;
            this.TargetName = feedback.TargetNodeName;
            string targetPropertyName = feedback.TargetPropertyName;

            if (!string.IsNullOrEmpty(targetPropertyName))
            {
                DragTipModel dragTipModel = this;
                string       str          = dragTipModel.TargetName + "." + targetPropertyName;
                dragTipModel.TargetName = str;
            }
            if ((feedback.DropFlags & DataBindingDragDropFlags.CreateElement) == DataBindingDragDropFlags.CreateElement)
            {
                if (DataBindingModeModel.Instance.Mode == DataBindingMode.Details)
                {
                    this.DropEffectId = DropEffectId.CreateDetails;
                }
                else
                {
                    this.DropEffectId = DropEffectId.CreateElementAndBinding;
                }
            }
            else
            {
                if ((feedback.DropFlags & DataBindingDragDropFlags.SetBinding) != DataBindingDragDropFlags.SetBinding)
                {
                    return;
                }
                this.DropEffectId = DropEffectId.SetBinding;
            }
        }