2010-12-08 2 views
0

Je l'ai déjà fait cela:Quelqu'un peut-il m'expliquer comment ajouter Image en utilisant WPF?

 

var uriSource = new Uri(@"/WpfApplication1;component/Untitled.png", UriKind.Relative); 
image1.Source = new BitmapImage(uriSource); 
 

Mon espace de noms est WpfApplication1, mon image est au dossier principal du projet. Cela ne fonctionne toujours pas. Qu'est-ce que je fais mal? Il est déjà défini sur Ressource. Quand je débogue, il dit ces erreurs: Height = 'image.Source.Height' a lancé une exception de type 'System.IO.DirectoryNotFoundException' Metadata = '(image.Source) .Metadata' a lancé une exception de type 'System .NotSupportedException '

+0

Si l'image dans l'application Silverlight vous pouvez essayer de supprimer l'espace de noms. – ASpirin

+0

ce que ASpririn ?? – Seva

+0

Pouvez-vous poster votre XAML pour image1? Le message d'erreur que vous obtenez et le code que vous avez posté ne semblent pas correspondre. Peut-être que le problème est dans le XAML. – Stewbob

Répondre

0

Merde, c'est simple comme Silverlight. Mais il ne supporte pas les fichiers png pour faire comme ça. Donc, voici comment j'ai travaillé. Tout a changé à une image jpg:

 

Image image = new Image(); 
image.Width = 50; 
image.Height = 50; 
image.Source = new BitmapImage(new Uri("/soccer.jpg", UriKind.Relative)); 

mainCanvas.Children.Add(image); 
 
+0

Il ne supporte pas le chargement de fichiers PNG? – VVS

+0

WPF a un support complet pour les fichiers PNG. Je n'utilise que des fichiers png dans mes applications en raison de la capacité du canal alpha. WPF n'a aucun problème avec ces fichiers. – Stewbob

+0

mec, ne pas descendre mon asnwer. Je viens de tester avec png, et jpg. Cela ne fonctionne qu'avec jpg DANS CE CAS! Je veux dire, seulement dans ce code, le png n'est pas supporté. – Seva

3

Assurez-vous que' Untitled.png 'a sa propriété Action de construction définie sur' Ressource '. Cliquez sur le fichier dans l'Explorateur de solutions, affichez la boîte de dialogue Propriétés et modifiez la propriété Action de construction.

Dim bi As New BitmapImage() 
bi.BeginInit() 
bi.UriSource = New Uri("/WpfApplication1;component/Untitled.png", UriKind.Relative) 
bi.EndInit() 
+0

Cela ne fonctionne toujours pas. J'ai édité ma question, jetez un oeil. – Seva

1

Est-ce que

BitmapImage bmi = new BitmapImage(new Uri(r[0].ToString(), UriKind.Relative)); 

image1.Source = bmi; // location + filename 

travail? En supposant que votre XAML est en quelque sorte similaire à celui-ci:

<Image x:Name="image1" HorizontalAlignment="Left" Width="175" Stretch="Fill" Margin="373.428,8,0,5.059"> 
    <Image.BindingGroup> 
     <BindingGroup/> 
    </Image.BindingGroup> 
</Image> 

J'ai ajouté un contrôle d'image dans ma toile/mise en page. (Juste avoir une conjecture sauvage)