Hi Clint,
That is correct, the ribbon menu items require a text string. I would recommend you possibly bind their Label with a value converter that can convert your real object values to an appropriate string.
I don't think native MenuItems can be used in random popups. They have to be hosted within a native Menu or ContextMenu directly to work properly.
You can add any other control though in the popup content, just be sure you do it outside of the ribbon:Menu. Perhaps you could make a custom templated button to achieve the look you want and inject it that way.