簡體   English   中英

C#使用WPF顯示JPG圖像不起作用

[英]C# Display JPG Image with WPF doesn't work

對於一個項目,我必須顯示不帶數據綁定的JPG照片,並且不使用XAML文件中的源代碼。 為此,我想使用以下功能:

private void updatephoto(string urlphoto)
{
   photo.Source = new BitmapImage(new Uri(String.Format("{0}", urlphoto), UriKind.Relative));
}

因為我的老師在他的例子中使用了它,對他來說,它有效! 我的課程是這樣組成的(摘錄):

class Recette
{
    public String photo { get; private set; }
}

使用允許相對路徑使用字符串的構造函數。 使用相對路徑在帶有Source =“ nameoffile.jpg”的XAML文件中可以正常工作,但是當在MainWindows.xaml.cs中時,我想使用以下方式顯示照片:

Recette selectedRecette;
void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   selectedRecette = (sender as ComboBox).SelectedItem as Recette;
   updatephoto(selectedRecette.photo);
}

最后一行調用:

     private void updatephoto(string urlphoto)
     {
         photo.Source = new BitmapImage(new Uri(String.Format("{0}", urlphoto), UriKind.Relative));
     }

在XAML中,圖像為:

< Image Height="100" Name="photo" HorizontalAlignment="Center"/ >

所以我不明白為什么這行不通

您說了一條絕對可行的道路,這太好了! 您的代碼完全按預期工作。

您可以始終使用絕對路徑,該語句:

String path = @"C:\Users\user\Documents\Visual Studio 2013\Projects\projetf - Copie\td6bis\flamby.jpg";

由於有“ @”符號,因此完全有效 它說整個字符串是字符串文字 ,因此'\\'字符不會轉義任何內容。

如果您確實需要相對路徑,則該路徑可能不會指向您認為需要的位置。 關鍵是所有相對路徑都相對於可執行文件工作目錄 這通常是可執行文件所在的文件夾,但是在某些地方它會變得很奇怪。

相對路徑快速入門:

  1. 如果您的路徑只是一個文件名(即“ test.jpg”),則該文件需要位於執行目錄中。

  2. 如果該路徑看起來像普通路徑(即@“ Images \\ test.jpg”),那么它將在包含圖像文件的執行目錄中尋找名為“ Images”的文件夾。

  3. 如果您有點,則它在目錄樹中“向上”(即@“ .. \\ Images \\ test.jpg”)。 這將從執行目錄上移至目錄,查找名為“ Images”的文件夾,然后在此處查找圖像文件。

完全隨機的信息; 語句String.Format({0}, "MySTring")"MySTring"具有相同的"MySTring" 如果只有一個參數,並且該參數是整個字符串,則沒有理由使用String.Format。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM