2009-08-06 14 views
7

Próbuję odtworzyć bardzo prosty przykład projektu C# i WPF, jego prostej przeglądarki obrazów .. od samemu uczę się C#, udało mi się otworzyć okno otwierania plików, ale jak to zrobić? ustawić ścieżkę obrazu do kontroli image.source w WPF?Źródło sterowania obrazem WPF

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; 
    } 
} 

Odpowiedz

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

Dzięki, jak doyou ustawić propertie Sizemode.zoom? – Dabiddo

+0

Pracowałem też dla mnie !! dzięki – Azeem

+0

dzięki. Pracował dla mnie –

3

trzeba zmienić nazwę pliku do URI, a następnie utworzyć 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

Można również dodać obraz jako zasobu, tj Dodaj istniejący element i zmień właściwość rozwijania obrazu na Zasób

następnie odsyłaj w ten sposób

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

((Image)sender).Source = bitImg; 

W ten sposób nie musisz zawierać obraz z programu, jego dołączonych do opakowania jako zasób

Powiązane problemy