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