私のアプリケーションでは、いくつかの画像を表示したい(リストに保存する必要がある)。私はそれらを開くことに問題があります。まず、Images(VSを使って)ディレクトリを作った。次に、私はこのフォルダ(VSでも)に画像をロードしました。 http://msdn.microsoft.com/en-us/library/aa970062.aspxWPFアプリケーションで画像を開くことができない
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%確信していますか? –
コントロールがインスタンス化されたときに正しく実行されないように、コードを移動します。 XAMLから間接的に呼び出された、構築中にスローされた例外はすべて捕捉され、XamlParseExceptionがスローされます。しかし、InnerException(またはInnerExceptionのいくつかのレベル)が実際のエラーを明らかにする必要があります。 –
@ジェラルド私が書いたように、最後の行から1行ずつコードを削除しようとしました。そして、最初の行を削除した後で例外がスローされなくなりました(どちらの例でも、ファイルへのパスが含まれています)。 – rideronthestorm