Pendule Wpf

VbWpf Messages postés 5 Date d'inscription samedi 14 octobre 2017 Statut Membre Dernière intervention 22 octobre 2017 - 18 oct. 2017 à 17:48
VbWpf Messages postés 5 Date d'inscription samedi 14 octobre 2017 Statut Membre Dernière intervention 22 octobre 2017 - 22 oct. 2017 à 08:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/102224-pendule-wpf

VbWpf Messages postés 5 Date d'inscription samedi 14 octobre 2017 Statut Membre Dernière intervention 22 octobre 2017
22 oct. 2017 à 08:55
Merci pour ces conseils judicieux. Je vais en tenir compte.
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
21 oct. 2017 à 22:00
Je te conseille la lecture de cet article, le code fourni est en C# mais il y a des traducteurs C# -> Vb.Net en ligne. Tu verras que les 2/3 de sa démonstration sont basés sur le binding,DataBinding, Template, Triger, Setter etc...
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
Modifié le 20 oct. 2017 à 21:57
Je viens de tester le code, après avoir supprimer tes exécutables, et recompilé moins même.
Y'a des bugs:
  • "l'info bulle" indique tout le temps la même heure, qui semble être celle du démarage de l'appli.
  • quelque soit le fuseau horaire, ça affiche toujours AM, même à Paris (il est 21h30 environ, on est bien dans le PM).
  • Si l'appli a démarré à 21h30, que je la laisse tourner quelques minutes, si je change de fuseau ça applique 21h30 + le décallage, l'horloge se désynchronise (il est 21h36, je choisis Dubai, il est 1h30, je reviens à Paris, il est 21H30).
  • Certains fuseaux horaires sont inexacts
    • A Auckland ça indique 7H30, alors qu'il est 8H30
    • A Dubai 1H30 alors qu'il est 23h30
    • etc.

Bref t'as un gros problème de conception, qui vient en majeur partie du fait que tu n'affiches pas l'heure actuelle de l'ordi mais celle que tu tricotes dans ton code.
PS un DateTime sait appliquer les fuseaux horaires.

Sur le fond maintenant.
La force, et la raison d'être de WPF est de permettre à une équipe de codeurs de coder du code métier et à une équipe de designers de dessiner l'interface en application du MVC.
Pour cela, toutes les données doivent être encapsulées dans des collections et bindées vers l'interface.
Dans ton code 0 binding. Tu as même entré en dur dans le xaml, la liste des fuseaux horaires.

Les bons exemples de WPF en VB.Net sont rares, car c'est une technologie qui a été développé pour les grosses boites qui codent en C#.
En l'état ton source n'est pas un exemple à suivre: gestion de l'heure hasardeuse, pas de code métier, pas de binding.
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
20 oct. 2017 à 14:14
Bonjour, une règle à respecter quand on poste une source est de ne pas inclure de fichiers exécutables, merci donc de nettoyer ta solution.
Rejoignez-nous