2009-08-06 8 views
7

im essayant de recréer un exemple très simple d'un projet C# i WPF, son simple visionneuse d'images .. de vous enseigner C de la ligne # sam, ive a réussi à obtenir la boîte de dialogue de fichier ouvert pour ouvrir, mais comment J'ai mis le chemin de l'image au contrôle image.source dans WPF?WPF contrôle de code source d'image

private void SearchBtn_Click(object sender, RoutedEventArgs e) 
{ 
    Microsoft.Win32.OpenFileDialog openfile = new Microsoft.Win32.OpenFileDialog(); 
    openfile.DefaultExt = "*.jpg"; 
    openfile.Filter = "Image Files|*.jpg"; 
    Nullable<bool> result = openfile.ShowDialog(); 
    if (result == true) 
    { 
     //imagebox.Source = openfile.FileName; 
    } 
} 

Répondre

18
imagebox.Source = new BitmapImage(new Uri(openfile.FileName)); 
+0

Merci, comment doyou régler la propriétée Sizemode.zoom? – Dabiddo

+0

A travaillé pour moi aussi !! merci – Azeem

+0

merci. A travaillé pour moi –

3

vous devrez changer le nom du fichier dans un URI, puis créer un BitmapImage

:

if (File.Exists(openfile.FileName)) 
{ 
// Create image element to set as icon on the menu element 
BitmapImage bmImage = new BitmapImage(); 
bmImage.BeginInit(); 
bmImage.UriSource = new Uri(openfile.FileName, UriKind.Absolute); 
bmImage.EndInit(); 
// imagebox.Source = bmImage; 
} 
2

Vous pouvez également ajouter l'image en tant que ressource, à savoir Ajouter un élément existant et modifier la propriété Build action de l'image à la ressource

référence alors cette façon

BitmapImage bitImg = new BitmapImage(); 
bitImg.BeginInit(); 
bitImg.UriSource = new Uri("./Resource/Images/Bar1.png", UriKind.Relative); 
bitImg.EndInit(); 

((Image)sender).Source = bitImg; 

De cette façon, vous ne avez pas besoin d'inclure l'image du programme, ses empaquetés dans le paquet comme une ressource