Я использую .NET C# со стандартными WinForms, а не WPF.
у меня такая ситуация. Я создаю пользовательский элемент управления для месячного календаря, похожий на .NET, но с немного большей функциональностью. У меня есть форма пользовательского управления, которая заполняется объектами кнопок, представляющими даты. Кнопки могут быть окрашены в разные цвета в зависимости от их состояния (выбраны, наведены курсором мыши, выходные...)
То, как я хотел бы, чтобы это работало, - это расширение класса кнопок для принятия состояний, которые определяют цвета, а не окрашивание их из родительского (пользовательского элемента управления) класса. На данный момент существует 10 цветов, и мне бы очень не хотелось засорять код пользовательского управления условиями окраски.
Также я хотел бы выбрать все цвета во время разработки, используя просматриваемые свойства дизайнера. Проблема в том, что дизайнер показывает только свойства, определенные в классе пользовательского элемента управления, а не его дочерние элементы (кнопки).
Есть ли обходной путь для этой проблемы? Короче говоря, я хочу изменить цвета, используя внутренние свойства кнопки, и иметь возможность выбирать их во время разработки, используя свойства дизайнера, а не жестко кодировать их вручную.