Предполагая, что вы используете .NET (вы пометили C # по этому вопросу, так что я думаю, что это безопасно), вы рассматривали возможность использования ImageButton
для элементов, которые можно активировать? Вы сможете определить пользовательское поведение для любого события, к которому хотите подключиться.
Это всего лишь предположение из того, что вы описали, но похоже, что пользовательский элемент управления будет хорошим хранилищем для этого проекта. Вы можете определить макет графически, сохраняя тесно связанный код с тем, что будет его использовать.