在我的應用中,我想顯示一些圖片(我需要將它們存儲在列表中)。我有打開它們的問題。首先,我製作了一個目錄圖片(使用VS)。接下來我將圖片加載到這個文件夾中(也在VS中)。 我想打開其中一個喜歡這裏: http://msdn.microsoft.com/en-us/library/aa970062.aspx無法在WPF應用中打開圖像
Stream imageStreamSource = new FileStream("Images\bulbOff.png", FileMode.Open, FileAccess.Read, FileShare.Read);
PngBitmapDecoder decoder = new PngBitmapDecoder(imageStreamSource, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource = decoder.Frames[0];
然後試圖運行該程序,我得到:
XamlParseException
幾乎沒有任何信息。 確定第一行導致問題,因爲只有當我刪除它時,問題纔會消失。
我試圖做到這一點也很喜歡:
Uri myUri = new Uri("Images\bulbOff.png", UriKind.RelativeOrAbsolute);
PngBitmapDecoder decoder2 = new PngBitmapDecoder(myUri, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapSource bitmapSource2 = decoder2.Frames[0];
具有相同的結果。 我也嘗試將圖像複製到應用程序的主文件夾(在SolutionView中)。當我試圖獲得「\ bulbOff.png」時,結果是一樣的。 當我試圖讓「bulbOff.png」我
XamlParseException
一遍,但也有一些信息 - 有跡象表明路徑可能是錯誤的。
爲什麼加載圖像會引發XamlParseException?你是否100%確定異常與加載圖像有關? – 2010-12-14 20:13:58
移動該代碼,以便在控件實例化時不會發生錯誤。構造過程中拋出的任何異常(間接從XAML調用)都將被捕獲,並引發XamlParseException。但是,InnerException(或者可能是幾個InnerException級別)應該揭示真正的錯誤。 – 2010-12-15 00:47:00
@Gerardo正如我寫的,我嘗試從最後一行開始逐行刪除代碼。並且在刪除第一行之後,異常被停止引發(在這兩個示例中它都包含文件的路徑)。 – rideronthestorm 2010-12-15 01:21:00