Изменение цвета Аэро стекла для моего окна?

Я использую DwmExtendFrameIntoClientArea в своем приложении WPF для получения стеклянного эффекта. Это хорошо работает. То, что я хотел бы сделать, изменить цвет, используемый для стекла - я пишу таймер обратного отсчета, и я хотел бы, чтобы окно было нормальным стеклянным цветом большую часть времени и затем покраснело (но все еще со стеклом), когда время заканчивается.

Я нашел этот вопрос, который говорит о том, как применить стекло градиента, и это хорошо работает при выборе другого цвета. К сожалению, границы не окрашены соответственно.

Когда я выключаю границы при помощи ResizeMode="NoResize", затем я заканчиваю с прямыми углами. Я хотел бы сохранить скругленные углы.

Я посмотрел на создание нерегулярно сформированного окна, при помощи AllowTransparency="True" и это хорошо работает, но не похоже на Аэро стеклянное окно. Это выглядит немного плоским.

Так: мой вопрос: как я создаю окно в WPF, который похож на Аэро стеклянную прозрачность, но использует другой цвет?

8
задан Community 23 May 2017 в 12:07
поделиться

1 ответ

Я думаю, что единственный возможный способ добиться этого - использовать полупрозрачную рамку с заливкой и нарисовать ее по всему окну или той части, в которой вы получили стекло. Это обходной путь, но я думаю, что это возможное решение, поскольку цвет стекла определяется пользователем системы, и этот параметр перезапишет ваш.

2
ответ дан 6 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: