How to get callbacks when item data binding to entry in listview is interactivly changed by UI.

We know that how to construct item data uobjects, entries widgets and listview in UMG and we can get callbacks like item clicked or double clicked. But somehow entries can be more complex, which means containing checkboxes or buttons rather than just text in most tutorials.
So when the buttons or checkboxes in entry are clicked by user and the binding itemdata is changed, how can i get the callbacks in the main logic?
Ofcourse this is easy for blueprint, entries have their own graph, but we prefer to make everything control in c++, and use UMG as a UI designer as much as possiable. For other sub widgets it is easy to bind with C++ pointers, but list entries are create dynamically, we dont know how to obtain them and create delegates for the buttons and checkboxes. Currently we use a self-defined callback function, and call it in the entry BP. It worked but we think it is kind of less delicate, we are really wondering what is the officially recommended reasonable way to do this.
Thanks a lot~