Principales respuestas
Bordes nitidos

Pregunta
-
Buenas a todos, continuando con mi aprendizaje en WPF, tengo un problema a la hora de crear un botón.
Creo un nuevo control a partir de un rectángulo que lo defino como Button, luego edito el Style del mismo y le añado otro rectángulo, quedando finalmente dos rectángulos y un contenedor para el texto. El primer rectángulo que se encuentra al extremo le aplico un color gris claro y al segundo rectángulo le aplico un negro con márgenes a 2px. Finalmente al contenedor le aplico otro gris, quedando como el de la imagen siguiente:
http://img706.imageshack.us/img706/5953/problemasbotones.gif
http://img715.imageshack.us/img715/3478/problemasbotoneszoom.gif
El problema es que, como podeis ver, uno de los botones (no creado por mí), tiene las mismas propiedades y se ven los bordes completamente definidos, en cambio el mio a medida que el zoom lo pones a 100%, se difuminan dichos bordes. Ojo, la segunda imagen es con el zoom del photoshop no del Blend (con este último, si amplías más del 100% se ve bien, sin difuminaciones).
¿Qué no le estoy aplicando o alguien sabe donde puedo estar cometiendo el error?.
Muchas gracias a todos.
Respuestas
-
Hola Spaikers
Prueba a establecer la propiedad SnapToDevicePixels a True en el botón. Esto forzará a dibujar el botón usando el tamaño de pixeles y la colocacion de pixeles del dispositivo.
Puedes encontrar más info aquí:
http://msdn.microsoft.com/en-us/library/system.windows.uielement.snapstodevicepixels.aspx
Espero que te sirva, un gran saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog
Sigueme en Twitter- Marcado como respuesta Spaikers lunes, 4 de octubre de 2010 22:20
Todas las respuestas
-
Hola Spaikers
Prueba a establecer la propiedad SnapToDevicePixels a True en el botón. Esto forzará a dibujar el botón usando el tamaño de pixeles y la colocacion de pixeles del dispositivo.
Puedes encontrar más info aquí:
http://msdn.microsoft.com/en-us/library/system.windows.uielement.snapstodevicepixels.aspx
Espero que te sirva, un gran saludo!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog
Sigueme en Twitter- Marcado como respuesta Spaikers lunes, 4 de octubre de 2010 22:20
-
Efectivamente Josue, se trataba de dicha propiedad.
Además, aplicándoselo a otros objetos he conseguido arreglar algunos problemas gráficos por lo que mi pregunta es ¿debo activar dicha propiedad siempre o hay algún procedimiento a seguir?.
Muchas gracias y por cierto, cuanto tengo tiempo, de vez en cuando le hecho un vistazo a tu blog. -
Buenas Spaikers,
Gracias por leerme :)
Puedes establecer la propiedad en la grid principal de la ventana y automáticamente se aplicará a todos los controles que tengas dentro de ella, a no ser que en alguno la establezcas explicitamente a false.
En WPF las propiedades se heredan en cascada, los hijos heredan siempre las propiedades de los padres a no ser que la misma propiedad se establezca en el hijo, en ese caso es mandatorio para WPF hacer caso a la propiedad directa del hijo, despues de todo, si la has escrito explicitamente, sera porque quieres que coja ese valor en ese objeto.
Un gran saludo y Happy coding!!
MCTS .NET Framework 3.5 Windows Forms Application Development
MCTS .NET Framework 3.5 Windows Presentation Foundation
Visita mi Blog
Sigueme en Twitter