Я ищу пример настраиваемой кнопки WPF. Идеально подходит для любимой конфигурации Blend/VS2013, т. Е. Тестового решения VS2013, которое включает проект кнопки, который можно редактировать в Blend для VS2013. Кнопка должна иметь внешний вид, что делает его ясно, что состояние он находится, т.е.Любые примеры богатого визуального поведения WPF-кнопки?
- Normal = по умолчанию
- MouseOver = внутреннее свечение
- прессованная = меньший размер/меньше тень
- ToggledOn = внешнее свечение
- Disabled = неактивна
Учитывая такой пример я мог бы просто настроить визуальный появление состояний с использованием Blend.
И на стороне приложения я хочу просто создать экземпляр кнопки, связать стиль и установить свойства BackgroundColor, изображения/значка, текстовой метки, ширины, высоты.
Похоже, что использование стиля ControlTemplate является рекомендуемым способом, а не подклассификацией, см. MSDN.
Три ключевые проблемы кажутся:
- как настроить структуру проекта VS2013/смешивания использовать как взаимозаменяемые на одном наборе исходных файлов
- как вычислить относительные размеры в ControlTemplate, т.е. что такое синтаксис для Width = Button.Width x 1.1, чтобы установить интенсивность свечения относительно фактического размера кнопки, которая не находится в шаблоне, но должна быть определена в дизайне пользовательского интерфейса клиентского приложения.
- как вычислить относительные цвета из основного цвета кнопки, т.е. то, что синтаксис WPF XAML для GradientStop Color = Button.BackgroundColor х 80% + белый х 20%
Это должно быть очень общая потребность, но Google не помог найти что-либо подобное выше.
Любая помощь по любому из трех ключевых вопросов будет принята с благодарностью.