¿Hay alguna manera de hacer que una ventana WPF transparente sin perder el área no cliente (bordes, barra de título, cerrar/minimizar/maximizar botones)?Transparencia de ventana WPF (incluido el área no cliente)
Establecer 'Permitir transparencia' en 'verdadero' requiere que 'WindowStyle' se establezca en 'Ninguno' (como se explica en this answer), que elimina el área no cliente.
Uno de los desarrolladores de WPF blogged about how transparent windows work in WPF, y por qué habría sido difícil implementar soporte para la transparencia de área no cliente.
Independientemente de lo que sus estilos de ventana sugieran, las ventanas transparentes de WPF no tienen ningún área visible que no pertenezca al cliente. Esto está bien para muchos escenarios donde la intención es crear una forma de ventana personalizada, pero puede ser molesto para las personas que solo quieren "desvanecerse" en una ventana normal.
Una solución solo de WPF, entonces, parece descartada.
Llamar al nativo SetLayeredWindowAttributes function y pasar el controlador de la ventana WPF y LWA_ALPHA no tiene ningún efecto, como se esperaba.
El único otro enfoque en el que puedo pensar es alojar contenido WPF dentro de una ventana Win32 (o posiblemente WinForms). Sospecho que intentar hacer esto dará como resultado airspace issues, sin embargo.
ventanas de WPF en capas tienen diferentes capacidades en diferentes sistemas operativos ... WPF no es compatible con teclas de color transparencia, porque WPF no puede garantizar para hacer que el color exacto que ha solicitado, particularmente cuando se genera es acelerado por hardware.
No estoy seguro de si estoy leyendo lo anterior correctamente, pero parece que tratar de alojar contenido de WPF con transparencia no es posible.
¿Alguna idea?
No creo que esta biblioteca proporcione ningún mecanismo para hacer que la ventana estándar transparente sea transparente. Me gustaría evitar ser responsable del área no cliente y dejar eso en manos de DWM. – Quppa