Ejemplo n.º 1
0
        /// <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);
            }
        }