You’re adding it as the very last element to the scroll box, right?
Get that widget → get the scroll box → get last child => cast => bind:
Naturally, this can only be done after the button has been dynamically created, be mindful of that. There are other way of doing this, too.
Another note that should simplify your time with dispatchers:
There is no need to do any of the above. If there are dispatchers in widgets that you’ve manually added in the Designer, their events are immediately available in the parent:
Often referred to as autobind. You’ve used it many times without realising it - with buttons, for example:
You never needed to manually bind those, right? Same thing.