что вы можете сделать, вы можете поместить элемент управления PopUp в стиль вашего элемента управления. А поскольку ваш элемент управления наследуется от Button, он должен иметь состояние MouseOver. Затем, когда он находится в состоянии MouseOver, вы просто устанавливаете IsOpen всплывающего окна в true.
Если вы хотите, чтобы содержимое всплывающего окна было привязываемым (динамическим), вы можете определить свойство зависимости в вашем элементе управления и иметь ContentControl в своем шаблоне всплывающего окна, привязав его к вашему стилю.