No estoy muy seguro de las diferencias entre las clases System.Windows.Media.Drawing
y System.Windows.Shapes.Shape
. Ambos exponen la funcionalidad relacionada con los gráficos 2D en WPF. ¿Cuándo elegirías uno en tu aplicación WPF y cuándo elegirías el otro?Elegir entre Dibujo y Forma en WPF
Respuesta
A Shape
hereda de FrameworkElement y por lo tanto es un objeto de alto nivel que proporciona características tales como pruebas golpear, el estilo, el diseño y los datos de unión. Por el contrario, Drawing no hereda de FrameworkElemet
y no admite ninguna de estas características. Como la documentación menciona, Drawing
es útil para objetos visuales livianos. Si está creando un pincel complejo para pintar áreas o un fondo, DrawingBrush sería muy eficiente.
Los dibujos pueden combinar texto, video, imágenes y objetos Geometry (otra clase ligera) para crear dibujos complejos pero muy eficientes y rápidos.
En resumen un Drawing
es una alternativa de bajo nivel a un Shape
. En cuanto a los casos de uso, depende.
- Si tiene que animar o hacer cualquier tipo de encuadernación, debería usar Shapes.
- Si está creando pinceles o gráficos de clip art/vector complejos, probablemente use Drawings.
- Además, si dibuja cosas anulando
OnRender
, usaría principalmente Geometrías.
A Drawing
también es Freezable
y por lo tanto se puede compartir entre hilos (asumiendo que es congelado).
- 1. Elegir entre Prism y Caliburn
- 2. Píxeles de dibujo en WPF
- 3. Elipse Dibujo Animación WPF
- 4. ¿Cómo elegir entre parList y parBuffer?
- 5. Elegir entre MEF y MAF (System.AddIn)
- 6. Cómo elegir entre DTD y XSD
- 7. ¿Elegir entre glMatrix, Sylvester y CanvasMatrix?
- 8. ¿Cómo usar el dibujo GDI + en WPF?
- 9. ¿Cómo elegir entre nuevo y reemplazar en C#?
- 10. ¿Cómo elegir entre 'window.URL.createObjectURL() `y` window.webkitURL.createObjectURL() `basado en navegador
- 11. Elegir entre Berkeley DB Core y Berkeley DB JE
- 12. Elegir entre Hudson y CruiseControl a largo plazo
- 13. ¿Elegir entre métodos de instancia y funciones gratuitas?
- 14. Elegir entre la excepción y el valor de retorno
- 15. Cómo elegir entre protobuf-csharp-port y protobuf-net
- 16. ¿Cuándo elegir entre la interfaz web y la GUI nativa?
- 17. Arrastrar y soltar + dibujo personalizado en Android
- 18. Elegir entre java o php para GWT!
- 19. Elegir y prueba decompilador
- 20. Contenedores logpolares de contexto de forma de dibujo en MATLAB
- 21. ¿Diferencia entre winforms, WPF y metro?
- 22. Botones que parecen ICS: ¿Qué dibujo tengo que elegir en ICS SDK?
- 23. WPF arrastrar y soltar entre contenedores
- 24. Diferencia entre Textbox y RichTextbox wpf?
- 25. Dibujo de Android en SurfaceView y Canvas
- 26. flechas dibujo con datos de la trayectoria WPF
- 27. ¿Hay alguna manera de cambiar el orden de dibujo en WPF
- 28. Dibujo WPF que se extiende sin estirar la pluma
- 29. Cuándo elegir complementos y cuándo elegir la pista
- 30. Cómo elegir entre dos métodos del mismo nombre en Java