none
Traitement d'exception à l'initialisation d'un contrôle WPF RRS feed

  • Question

  • Bonjour,

    Je sèche sur le sujet, votre aide me serait bien utile. Il s'agit d'une partie d'application qui présente des miniatures de photos à la manière d'une planche contact. Elle fonctionne parfaitement sauf pour la situation que je vais exposer. Le conteneur est un WrapPanel. Chaque enfant, une miniature, est un ItemsControl dont le Datatemplate imbrique plusieurs contrôles dont un Image défini par <Image.Source><BitmapImage UriSource="{Binding ...}/>. La liaison renvoie à une liste d'objets, une ObservableCollection. L'uri source est l'une des propriétés des objets. La liste est chargée directement de la boîte de dialogue d'exploration de fichiers. Les ItemsControls sont donc créés (initialisés) à mesure que la liste est constituée. Comme je l'écrivais, tout ceci fonctionne mais tant que le fichier est une image, et une image décodable, or on peut pointer sur un fichier déplacé ou corrompu. Alors, l'initialisation du Image échoue et génère une exception que je ne sais pas traiter. Je peux toujours la bloquer dans App avec DispatcherUnhandledException mais 1/ je ne sais pas quel chemin ou quel fichier l'a causée, 2/ l'exécution est interrompue et aucune miniature n'est affichée, alors que 3/ je voudrais qu'elles apparaissent avec une image ou un cadre vide pour les fichiers en défaut (qu'il sera plus facile d'identifier pour les supprimer).

    Vos idées seront les bienvenues.

    • Déplacé Aurel Bera lundi 4 août 2014 07:19 WPF
    dimanche 3 août 2014 15:14

Réponses

  • Résolu en supprimant <Image.Source> et en créant la liaison dans le code après initialisation d'un BitmapImage par uri dans un bloc try-catch.
    • Marqué comme réponse Tirfon mercredi 13 août 2014 10:57
    mercredi 13 août 2014 10:57

Toutes les réponses