Нанесите Aero Glass Blur на определенную область управления в WPF
Вопрос
В его книге (Pro WPF в C# 2010 Presentation Foundation в .net 4) Мэтью Макдональд - пишет:
... Вы можете использовать dwmenableblurbehindwindow (), чтобы нанести эффект стекла на определенную область в окне.
Означает ли это, что я могу нанести эффект аэродинамического стекла на определенные элементы управления (или, по крайней мере, область, которую они занимают)?
Пожалуйста, дайте пример того, как сделать это с C#.
Решение
Если я пойму, что ваше намерение состоит в том, чтобы применить реализованный DWM Blur к управлению, который покажет контент в окне за ним, тогда нет: «Эта функция может быть вызвана только в окнах верхнего уровня».
Однако вы можете применить DWM Blur к окну Toplevel, содержащему управление в области управления, и увидеть окна за ним. Проверьте подписи p/invoke для Dwmenableblurbehindwindow, Createrectrgn а также DeleteObject Очистить область размытия.