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); }
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; } }