Can drag Toggle body itself. I suspect that Toggle is blocking event propagation. Any suggestions how this can be solved?
Yeah, that’s what’s happening. You’d have to prevent the foldout from handling the click, and handle it yourself. A quick and dirty way of doing that would be to add an invisible element on top of the foldout that intercepts the click. Or you could set the Picking Mode of everything inside the Toggle to Ignore, and intercept the click in a surrounding element. Or you could make your own foldout element.
To handle the click, you’ could set a boolean true on PointerDownEvent without stopping propagation. You’d set that boolean false on PointerLeaveEvent, PointerMoveEvent and PointerUpEvent. Then, if that boolean is still true on PointerUpEvent, you know that the foldout was clicked (i.e. not dragged) and you toggle it.