2013-07-11 14 views
6

Zajmuję się tworzeniem aplikacji Windows Phone. Mam obraz. To jest jego kod XAML:Jak zmienić image.source za pomocą C#?

<Image x:Name="imageclock" Grid.Row="1" 
     Source="Image/Myimage.png" Height="240" Width="240" 
     /> 

i chcę zmienić image.source z tym kodem:

private void ClickonBtn(object sender, EventArgs e) 
    { 
      BitmapImage bm = new BitmapImage(new Uri("Image/Darktheme.png", UriKind.RelativeOrAbsolute)); 
      imageclock.Source = bm; 
    } 

Ale kiedy spełnione, imageclock.Source = Null i to jest błąd:

An exception of type 'System.NullReferenceException' occurred in Newappver1.DLL but was not handled in user code

+0

I sprawdzeniu, że w katalogu 'Image' znajduje się plik o nazwie' Darktheme.png'? –

Odpowiedz

7

Twój kod wygląda dobrze, ale być może musisz dodać @ przed ścieżką obrazu, aby obsłużyć kod w następujący sposób:

BitmapImage bm = new BitmapImage(new Uri(@"Image/Darktheme.png", UriKind.RelativeOrAbsolute)); 
+5

Zazwyczaj musisz poprzedzić ciąg znakiem @, aby zachować znaki specjalne (lub możesz uciec z nich z odwrotnym ukośnikiem), ale '/' nie jest jednym z nich, więc nie powinieneś tego unikać/użyj '@' –

+0

Oh ,Dziękuję bardzo. Działa idealnie. – thefriend

+0

Przyjemność, aby pomóc! – 3wic

Powiązane problemy