Image.ImageFailed イベント

定義

イメージの取得または形式に関連するエラーがある場合に発生します。

public:
 virtual event ExceptionRoutedEventHandler ^ ImageFailed;
// Register
event_token ImageFailed(ExceptionRoutedEventHandler const& handler) const;

// Revoke with event_token
void ImageFailed(event_token const* cookie) const;

// Revoke with event_revoker
Image::ImageFailed_revoker ImageFailed(auto_revoke_t, ExceptionRoutedEventHandler const& handler) const;
public event ExceptionRoutedEventHandler ImageFailed;
function onImageFailed(eventArgs) { /* Your code */ }
image.addEventListener("imagefailed", onImageFailed);
image.removeEventListener("imagefailed", onImageFailed);
- or -
image.onimagefailed = onImageFailed;
Public Custom Event ImageFailed As ExceptionRoutedEventHandler 
<Image ImageFailed="eventhandler"/>

イベントの種類

注釈

このイベントが発生する可能性がある条件は次のとおりです。

  • ファイルが見つからない
  • 無効な (認識できないか、サポートされていない) ファイル形式
  • アップロード後の不明なファイル形式のデコード エラー
  • システムによる修飾リソースの再読み込み イベント データで ErrorMessage を使用して、障害の性質を判断できる場合があります。

ImageFailed と ImageOpened は相互に排他的です。 ImageSource 値が設定またはリセットされるたびに、一方のイベントまたはもう一方のイベントが常に発生します。

ImageFailed を処理するシナリオの 1 つは、基になる BitmapImage ソースの UriSource を別のローカル イメージ ファイルに設定することです。 これは、空き領域の代わりに表示するフォールバック値として機能します。 たとえば、ソースが存在しない可能性がある外部イメージを表示しようとしている場合や、ユーザーがインターネットに接続していない場合は、 UriSource を設定して、アプリ パッケージの一部であり、常に使用可能であることが保証されているローカル フォールバックまたはプレースホルダー イメージを参照するように設定できます。

Image 要素がライブ ビジュアル ツリーにない場合、Image 要素は ImageOpened イベントまたは ImageFailed イベントを発生しません。 要素がライブ ツリーにないときにこれらのイベントを受信する必要がある場合は、BitmapImage を使用します。ImageOpened/ImageFailed イベント。

private void Image_ImageFailed(object sender, ExceptionRoutedEventArgs e) {
    Image img = sender as Image;
    BitmapImage fallbackImage = new BitmapImage(new Uri("ms-appx:///Images/fallback.png"));
    img.Width = 100; //set to known width of this source's natural size
     //might instead want image to stretch to fill, depends on scenario
    img.Source = fallbackImage;
}

イメージ リソース

リソースは、リソース修飾子パターンを使用して、デバイス固有のスケーリングに応じて異なるリソースを読み込むことができます。 アプリの実行中にスケーリング 係数が変更された場合、アプリ用に最初に取得されたリソースはすべて自動的に再評価されます。 さらに、そのリソースが Image オブジェクトのイメージ ソースである場合、新しいリソースを要求してから Image に適用するシステムのアクションの結果として、ソース読み込みイベント (ImageOpened または ImageFailed) の 1 つが発生します。 実行時スケールの変更が発生する可能性があるシナリオは、複数のモニターが使用可能なときにユーザーがアプリを別のモニターに移動する場合です。 その結果、 ImageOpened イベントまたは ImageFailed イベントは、XAML で Source が設定されている場合でも、スケール変更が処理されるときに実行時に発生する可能性があります。

適用対象