Я хотел бы создать набор настраиваемых элементов управления, которые в основном представляют собой кнопки изображения (это немного сложнее, но это основной эффект, который я ищу), для которых я видел несколько разных примеров. Тем не менее, я хотел бы еще больше расширить это, чтобы также разрешить переключатели/переключатели.
Что я хотел бы сделать, так это иметь общий абстрактный класс с именем ImageButtonBase, который имеет реализации по умолчанию для ImageSource и Text и т. д. Это делает обычную реализацию ImageButton довольно простой.
Проблема, с которой я сталкиваюсь, заключается в создании ее аромата RadioButton. Как я понимаю, есть как минимум три варианта:
- Было бы легко создать что-то производное от RadioButton, но тогда я не смогу использовать созданный мной абстрактный класс.
- Я мог бы изменить абстрактный класс на интерфейс, но тогда я потеряю абстрактные реализации и фактически буду иметь дублирование кода.
- Я мог бы вывести из своего абстрактного класса и повторно реализовать свойства и события типа RadioButton (IsChecked, GroupName и т. д.), но это определенно не кажется хорошей идеей.
Примечание. Я видел Как заставить группу переключателей действовать как переключатели в WPF?, но то, что я хочу сделать, немного сложнее.
Мне просто интересно, есть ли у кого-нибудь пример реализации или что-то, что можно было бы адаптировать к такому сценарию. Я вижу плюсы и минусы каждой из приведенных выше идей, но у каждой есть потенциальные ловушки.
Спасибо, ВТС