private void __dragEnd(EventContext evt) { if (_agent.parent == null) //cancelled { return; } GRoot.inst.RemoveChild(_agent); object sourceData = _sourceData; _sourceData = null; GObject obj = GRoot.inst.touchTarget; while (obj != null) { if (obj.hasEventListeners("onDrop")) { obj.RequestFocus(); obj.DispatchEvent("onDrop", sourceData); return; } obj = obj.parent; } }