Страницы

Поиск по вопросам

четверг, 5 декабря 2019 г.

Стилизация кнопок закрыть/свернуть для wpf

#wpf #visual_studio #дизайн #стилизация


У приложения есть стандартные кнопки свернуть и закрыть. Но меня они не устраивают.
Нужно сделать свои кнопки. Поставил задачу сделать кнопки с прозрачным фоном. 

Должно выглядеть так:



А при наведении курсора цвет фона и значка менялся:



Начал делать реализацию так:


    
        
            
                
                    
                    
                
            
        
        
        
            


Ответы

Ответ 1



Для начала, всё не проще, а сложнее. Если просто нарисовать кнопки, то они не попадут в non-client area. Поэтому вы должны поместить их туда, используя WindowChrome, например, как описано в этом вопросе: WPF Создание кастомного стиля окна с тенью. Затем, по поводу отрисовки крестиков. Нет, в WPF нету встроенного крестика, потому что он для каждой системы свой (посмотрите, как выглядит он на Windows 7, и как на Windows 10), а также зависит от системных настроек (выбранной цветовой схемы, включенного или нет режима увеличения и/или повышенной контрастности и т. д.). Одна строчка нарисованного руками крестика — не слишком сложное требование. Я бы тем не менее поместил крестик внутрь кнопки, и подменил шаблон: Оффтопик: Вы, судя по коду, пишете XAML через визуальный редактор. Это приводит к достаточно неоптимальному коду, и выводит из игры layout manager. (Например, вы размещаете кнопку на экране конструкциями наподобие Margin="382,10,23,0". Не делайте так, используйте layout manager вручную.)

Комментариев нет:

Отправить комментарий