Pourquoi WPF a-t-il sa propre classe de couleur au lieu de simplement utiliser Drawing.Color?Pourquoi WPF a-t-il sa propre classe de couleur au lieu de simplement utiliser Drawing.Color?
Répondre
Je ne sais pas pour certains, mais je pense qu'il est pour deux raisons:
D'abord, Drawing.Color
ne supporte pas la conversion automatique en provenance et à virgule flottante pour les valeurs ARVB ou arithmétique des couleurs, et les deux étaient nécessaires pour WPF. Ils auraient pu modifier Drawing.Color
pour l'inclure, mais:
Deuxièmement, Drawing.Color
pollue son espace de noms avec des instances statiques de lui-même pour les diverses couleurs communes. WPF déplace sagement ceci vers une classe statique distincte appelée Colors
pour contenir ces instances.
Je pense que c'est aussi simple que cela. En outre, Win.Forms et GDI + seront (espérons-le) un jour dépréciés et élagués. Quand cela arrive, il y aura des problèmes s'il y a une dépendance sur l'ancien .DLL. Mieux vaut simplement copier-pâtes et améliorer.
- 1. Pourquoi utiliser CComBSTR au lieu de simplement passer un WCHAR *?
- 2. Comment faire Moose retourner une instance de classe enfant au lieu de sa propre classe, pour le polymorphisme
- 3. Pourquoi utiliser "out" au lieu de ref?
- 4. Pourquoi utiliser GWT.create() au lieu de new?
- 5. ASP.NET MVC: Pourquoi l'exemple de modèle de compte utilise MembershipProvider au lieu de simplement l'appartenance
- 6. retours act_as_revisable ObjectRevision au lieu de simplement la révision
- 7. Utiliser une classe au lieu d'une autre
- 8. Pourquoi utiliser un singleton au lieu de méthodes statiques?
- 9. Pourquoi devrais-je utiliser 1 table au lieu de deux?
- 10. Pourquoi testerFixture au lieu de TestClass?
- 11. System.IO.UnmanagedMemoryStream - pourquoi Byte * au lieu de IntPtr
- 12. pourquoi ne pas simplement fichiers simples au lieu de initramfs ou initrd?
- 13. Utiliser/dev/tcp au lieu de wget
- 14. jQuery - Ajouter ID au lieu de classe
- 15. comment utiliser variable au lieu de constantes
- 16. Utilisez l'opérateur var au lieu de type classe
- 17. Comment appeler la méthode d'interface dans sa propre classe?
- 18. Pourquoi VIM a-t-il sa propre syntaxe regex?
- 19. composition de classe au lieu de la composition de l'objet?
- 20. Écrire notre propre méthode Dispose au lieu d'utiliser Idisposable
- 21. Comment utiliser androids LayoutInflater.Factory pour créer une classe de vue personnalisée au lieu d'une classe intégrée?
- 22. PHP: Comment puis-je accéder/utiliser une méthode dans sa propre classe?
- 23. Est-il possible de charger un UserControl dans un objet anonyme, au lieu de simplement l'instancier?
- 24. Sécurité de printemps: comment utiliser MethodInvocation au lieu de FilterInvocation
- 25. IPython avec sa propre portée?
- 26. permettant à l'utilisateur de choisir sa propre couleur pour l'arrière-plan du formulaire
- 27. Pourquoi ai-je une page blanche au lieu de Joomla?
- 28. Utiliser un NSMutableArray au lieu d'un NSFetchedResultsController
- 29. Ruby on Rails et Ubuntu: en tapant simplement "script/generate ..." au lieu de "script ruby / generate"
- 30. Pourquoi CompositionTarget.Rendering prend EventArgs au lieu de RenderingEventArgs?
Si WPF a été inventé aujourd'hui, il aurait simplement transmis la classe Color à System.DLL, mais je suppose que ce n'était pas une option à l'époque. –