Aplicar desenfoque de vidrio aerodinámico a un área de control específica en WPF
Pregunta
En su libro (Pro WPF en C# 2010 Windows Presentation Foundation en .NET 4) Matthew MacDonald - Escribe:
... Puede usar DWMenableblurbehindwindow () para aplicar el efecto de vidrio a una región específica en una ventana.
¿Significa esto que puedo aplicar un efecto de vidrio aerodinámico a los controles específicos (o al menos un área que ocupan)?
Proporcione un ejemplo sobre cómo hacerlo con C#.
Solución
Si entiendo que su intención es aplicar DWM implementado Blur a un control que muestre el contenido en la ventana detrás de él, entonces no: "Esta función solo puede llamarse en Windows de nivel superior".
Sin embargo, podría aplicar DWM Blur a la ventana Toplevel que contiene el control en el área del control y ver las ventanas detrás de él. Echa un vistazo a las firmas P/Invoke para DwMenableblurbehindwindow, Creador y Eliminar Para limpiar la región de desenfoque.