que - visual studio wpf
¿Cuáles son los errores más comunes cometidos en el desarrollo de WPF? (7)
Esta pregunta tiene la intención de proporcionar una lista de soluciones a problemas comunes, "errores" o problemas de diseño al desarrollar aplicaciones WPF. Esto también puede incluir patrones de diseño adecuados, siempre que haya una explicación de por qué funciona mejor. Las respuestas deben votarse a favor o en contra según lo común que sea el tipo de problema. Estas son las reglas:
- Una respuesta por publicación. Esto claramente dará a los problemas más comunes la clasificación más alta.
- Sería mejor proporcionar el enlace a la publicación o solución relacionada que ya vive en algún lugar de SO land.
Al no darse cuenta de lo malo que es el renderizado de la fuente al comienzo de un proyecto y el cliente nos dice que no pueden soportarlo debido a lo difuso que se ve todo.
Ivan Towlson hizo una muy buena presentación sobre este tema. La mayor parte de la información está en sus diapositivas, que puede obtener desde aquí: http://hestia.typepad.com/flatlander/2008/08/codecamp-2008-.html
Problema : El principal problema que he visto hasta ahora es que las personas comienzan a codificar en WPF con el modelo de interfaz de usuario de winform en mente.
Solución : WPF no es WinForms / MFC / Win32 Olvídese de todas las suposiciones y normas del lado de la interfaz de usuario que ha utilizado y aprendido mientras desarrollaba la interfaz de usuario basada en Windows durante los últimos 20 años.
Es muy importante comprender las ideas centrales detrás de esta plataforma. Este enlace: Major UI Development Breakthroughs en la nueva plataforma de WPF ofrecerá una visión en profundidad de WPF. Que enumera los siguientes puntos. Los resaltados son mis características favoritas de esta plataforma.
- Gráficos avanzados
- Dibujo de modelo de objetos
- Texto de aplicación enriquecido
- Diseño de interfaz de usuario adaptable
- Modelo de contenido flexible
- Controles sin control
- UI basada en datos
- Estilos coherentes
- Disparadores
- Programación declarativa
Usar el código subyacente en las vistas, lo que hace llorar al bebé FSM.
Hacer que el enlace de datos funcione correctamente entre las propiedades definidas en ContentControls (Windows, UserControls, etc.) y las propiedades en los elementos que componen el contenido de los controles. Por ejemplo. Digamos que tengo una ventana que se ve así:
<Window x:Name="MyWindow"....>
<TextBlock Text="{Binding Path=PropertyDefinedInMyWindow}" />
</Window>
Problema: no importa con qué frecuencia actualice la "PropertyDefinedInMyWindow" nunca se refleja en TextBlock. ASI pregunta
Solución: debe establecer el DataContext de la ventana o indicarle a la vinculación en qué elemento vive la propiedad. Solución SO
Problema / Pregunta: Pregunta SO
¿Cómo expongo una DependencyProperty de un componente en mi control de usuario a los usuarios? Hay muchos ejemplos de cómo exponer una propiedad normal creando una nueva propiedad de dependencia y enlace, pero ninguna sobre cómo exponer una propiedad de solo lectura como FrameworkElement.ActualWidthProperty.
Solución: debe exponer una nueva propiedad Readonly Dependency en su control de usuario y actualizarla siempre que se actualice la propiedad ActualWidthProperty de su "componente". Esto requiere el uso de DependecyPropertyDescriptor para recibir notificaciones de los cambios que se produzcan. Solución SO
Problema: Usando el patrón de diseño MV-VM, ¿dónde instalo las vistas? ¿Esto sucede en ViewModel? SO Pregunta 1 , SO Pregunta 2
Solución: el desarrollo de WPF es más efectivo cuando se usa el patrón MV-VM en comparación con otros patrones comunes como MVC. La tendencia es tratar el ViewModel de la misma manera que lo haría con el controlador que manejaría abrir y crear vistas, así como los modelos. Este no es el caso en MV-VM. Las vistas son el único lugar donde se deben crear las vistas. Los ViewModels no deberían saber nada de la vista. SO Answer 1 , SO Answer 2