WPF - Image 'ne fait pas partie du projet ou son action de construction n'est pas définie sur Ressource'

StackOverflow https://stackoverflow.com/questions/638845

Question

J'ai un projet qui nécessite une image dans la fenêtre. Ceci est une image statique que j’ai ajoutée via "Ajouter > Élément existant". Il existe dans la racine du projet.

Je référence l'image dans une page de test comme suit -

<Page x:Class="Critter.Pages.Test"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      Title="Test">
      <Image Source="bug.png"/>
</Page>

Le problème, c’est que je reçois un message disant qu’on ne le trouve pas ou que son action de construction n’est pas une ressource mais qu’il existe et que sa ressource est une action de construction. Si je crée une nouvelle application et la jette simplement sur une fenêtre, cela fonctionne correctement.

Toute aide serait formidable.

Était-ce utile?

La solution

Essayez de reconstruire complètement ou supprimez les fichiers de construction, puis construisez le fichier.

Visual Studio ne prend pas toujours en compte les modifications apportées aux ressources et il peut être difficile de le recompiler.

Essayez également d’utiliser un URI complet car cela m’a aidé lorsque j’avais le même problème. Quelque chose comme

pack://application:,,,/MyAssembly;component/bug.png

Autres conseils

& # 8594; Clic droit sur le fichier image & # 8594; Cliquez sur la propriété & # 8594; Sélectionner une action de construction en ressource & # 8594; Solution Clean and Build & # 8594; Exécuter la solution

Vous obtiendrez le tout.

J'ai eu le même problème. Nettoyer et reconstruire la solution n'a pas résolu le problème, j'ai donc redémarré Visual Studio et c'est tout En espérant que Visual 2010 corrige ce problème et les nombreux autres qui déplacent wpf dans Visual 2008.

Essayez de démarrer le chemin d'accès à votre image avec un "/":

<Image Source="/bug.png"/>

Il existe une solution à votre question

<Image Source="/WpfApplication4;component/images/sky.jpg" />

" composant " n'est pas un dossier!

Ce n'est pas le cas, ou du moins la version bêta actuelle ne le fait pas. J'ai trouvé cette page en cherchant exactement le même problème. Reconstruire / nettoyer n'a rien fait. Après la fermeture et le rechargement de la solution, le fichier est redevenu compatible comme par magie.

Exemple de chargement asynchrone, une autre option. Exemple, clip.mp4 se trouve à la racine du projet Web.

void Landing_Loaded(object sender, RoutedEventArgs e)
{
    //Load video async

    Uri pageUri = HtmlPage.Document.DocumentUri;
    Uri videoUri = new UriBuilder(pageUri.Scheme, pageUri.Host, pageUri.Port, "clip.mp4").Uri;           

    WebClient webClient = new WebClient();
    webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    webClient.OpenReadAsync(videoUri);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    byte[] VideoBuffer = new byte[e.Result.Length];
    e.Result.Read(VideoBuffer, 0, (int)e.Result.Length);
    MemoryStream videoStream = new MemoryStream(VideoBuffer);
    ContentVideo.SetSource(videoStream);
    ContentVideo.Stop();
    ContentVideo.Play();
}

J'ai eu exactement le même problème, mais le redémarrage de VS2008 ou le nettoyage et la reconstruction du projet n'ont pas fonctionné. En fin de compte, les étapes ci-dessous ont fait l'affaire.

  • Dans l'Explorateur Windows, copiez l'image dans le dossier de ressources de votre projet. Exemple: MonProjet \ Ressources \
  • Dans Visual Studio, cliquez avec le bouton droit de la souris sur les ressources et sélectionnez " Ajouter > Article existant " et sélectionnez l'image que vous venez de copier dans
  • Dans le formulaire XAML, définissez la source de l'image comme suit: "Source =" Resources / MyImage.ico " (mon image a été enregistrée sous la forme d'un fichier icône (.ico), mais cette approche devrait travailler pour tout type d'image

J'espère que cela aide quelqu'un

J'ai eu un problème similaire. Après avoir supprimé un fichier someStyle.xaml que je n'utilisais pas vraiment à partir de l'explorateur de solutions. Ensuite, j'ai restauré le fichier, mais aucun changement ne s'est produit. Le nettoyage et la reconstruction du projet n’ont pas aidé.

Supprimez simplement la ligne correspondante:

<ResourceDictionary Source="someStyle.xaml"/> 

a fait le tour.

J'avais le même message d'erreur, mais mes problèmes étaient une simple erreur NOOB.

Lorsque j'ai ajouté mes fichiers .ico à "Mon projet / Ressources", VS a créé un sous-dossier nommé Ressources et que j'essayais d'utiliser.

<Window Icon="icons1.ico">

quand j'aurais dû utiliser;

<Window Icon="Resources/icons1.ico">

... ne jugez pas, j'ai commencé à utiliser WPF il y a 1 semaine:)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top