Image.ImageFailed イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
イメージの取得または形式に関連するエラーがある場合に発生します。
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 は相互に排他的です。 Image に Source 値が設定またはリセットされるたびに、一方のイベントまたはもう一方のイベントが常に発生します。
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 が設定されている場合でも、スケール変更が処理されるときに実行時に発生する可能性があります。