/// <summary> 拖拽开始执行的事件 /// 做为数据发送者时触发 </summary> /// <param name="context"></param> protected override void OnDragBegin(DragContext context) { DragDropJudedArgs args = new DragDropJudedArgs() { DragContext = context }; OnDragBeginJudgedHandle(args); if (!args.Handle) { var selectviewdatas = new List <T>(); var selecttreeiters = this.GetAllSelectedTreeIters(); foreach (var item in selecttreeiters) { var isselectparent = selecttreeiters.FirstOrDefault(i => this.IsParent(item, i)); if (isselectparent.Equals(TreeIter.Zero)) { selectviewdatas.Add(this.GetJisonsTreeIter(item).Data); } } var dragData = new DragData() { SelectionDatas = selectviewdatas, IsDo = false }; context.SetDragData(dragData); //Gtk.Drag.SetIconPixbuf(context, dragPixbuf, 0, 0); base.OnDragBegin(context); } }