Maison >développement back-end >C++ >Comment définir par programme une source d'image WPF à partir d'une ressource intégrée ?

Comment définir par programme une source d'image WPF à partir d'une ressource intégrée ?

DDD
DDDoriginal
2025-01-17 06:37:09409parcourir

How Do I Programmatically Set a WPF Image Source from an Embedded Resource?

Définition par programmation des sources d'images WPF à partir de ressources intégrées

Ce guide aborde le défi courant consistant à définir dynamiquement la source d'une image WPF à partir d'une ressource intégrée dans le code de votre application. Un problème fréquent est l'échec de l'affichage correct de la ressource intégrée, même lorsque les données d'image semblent être présentes.

La solution : emballer les URI

La clé pour résoudre ce problème réside dans l’utilisation des URI de pack. Ces URI fournissent un moyen standardisé de référencer les ressources intégrées dans les assemblys de votre application.

Exemple de code

Voici l'extrait de code pour y parvenir :

<code class="language-csharp">BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri("pack://application:,,,/AssemblyName;component/Resources/logo.png");
logo.EndInit();

image.Source = logo;</code>

Déconstruction de l'URI du pack

Décomposons les composants URI :

  • pack://application:,,, : Il s'agit de l'identifiant du schéma pour les URI de pack. Notez les trois virgules après application: – c'est crucial.

  • /AssemblyName;component/Resources/logo.png : Cette section précise l'emplacement de la ressource.

    • AssemblyName : Remplacez-le par le nom réel de votre assembly (sans l'extension .dll).
    • component : Ce mot-clé indique que la ressource fait partie de l'assembly principal.
    • /Resources/logo.png : Il s'agit du chemin d'accès à votre fichier image dans le dossier Ressources de votre projet. Ajustez en conséquence.

Gestion des caractères spéciaux

N'oubliez pas d'échapper correctement tous les caractères réservés (comme "%" et "?") dans le composant chemin de votre URI.

Paramètre important du projet

Assurez-vous que la propriété « Build Action » du fichier image (« logo.png » dans cet exemple) est définie sur « Ressource » dans les propriétés de votre projet.

En suivant ces étapes, vous pouvez charger avec succès des images à partir de ressources intégrées dans votre application WPF de manière dynamique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn