Нанесите Aero Glass Blur на определенную область управления в WPF

StackOverflow https://stackoverflow.com/questions/7814716

  •  26-10-2019
  •  | 
  •  

Вопрос

В его книге (Pro WPF в C# 2010 Presentation Foundation в .net 4) Мэтью Макдональд - пишет:

... Вы можете использовать dwmenableblurbehindwindow (), чтобы нанести эффект стекла на определенную область в окне.

Означает ли это, что я могу нанести эффект аэродинамического стекла на определенные элементы управления (или, по крайней мере, область, которую они занимают)?

Пожалуйста, дайте пример того, как сделать это с C#.

Это было полезно?

Решение

Если я пойму, что ваше намерение состоит в том, чтобы применить реализованный DWM Blur к управлению, который покажет контент в окне за ним, тогда нет: «Эта функция может быть вызвана только в окнах верхнего уровня».

Однако вы можете применить DWM Blur к окну Toplevel, содержащему управление в области управления, и увидеть окна за ним. Проверьте подписи p/invoke для Dwmenableblurbehindwindow, Createrectrgn а также DeleteObject Очистить область размытия.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top