Image.ImageFailed Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Tritt auf, wenn ein Fehler im Zusammenhang mit dem Bildabruf oder -format auftritt.
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"/>
Ereignistyp
Hinweise
Zu den Bedingungen, unter denen dieses Ereignis auftreten kann, gehören:
- Datei nicht gefunden
- Ungültiges Dateiformat (nicht erkannt oder nicht unterstützt)
- Unbekannter Dateiformatdecodierungsfehler nach dem Upload
- Qualifiziertes Erneutes Laden der Ressource durch das System Sie können die ErrorMessage in Ereignisdaten verwenden, um die Art des Fehlers zu bestimmen.
ImageFailed und ImageOpened schließen sich gegenseitig aus. Ein oder das andere Ereignis wird immer ausgelöst, wenn ein Image einen Source-Wert festgelegt oder zurückgesetzt hat.
Ein Szenario für die Behandlung von ImageFailed besteht darin, die UriSource der zugrunde liegenden BitmapImage-Quelle auf eine andere lokale Bilddatei festzulegen. Dies kann als Fallbackwert dienen, der anstelle eines leeren Leerzeichens angezeigt werden soll. Wenn Sie beispielsweise versuchen, ein externes Bild anzuzeigen, bei dem die Quelle möglicherweise nicht mehr vorhanden ist, oder wenn der Benutzer über keine Internetverbindung verfügt, können Sie festlegen, dass die UriSource auf ein lokales Fallback- oder Platzhalterbild verweist, das Teil Ihres App-Pakets ist und garantiert immer verfügbar ist.
Wenn sich das Image-Element nicht in der visuellen Livestruktur befindet, löst das Image-Element keine ImageOpened - oder ImageFailed-Ereignisse aus. Wenn Sie diese Ereignisse empfangen müssen, während sich das Element nicht in der Livestruktur befindet, verwenden Sie BitmapImage. ImageOpened/ImageFailed-Ereignisse .
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;
}
Bildressourcen
Ressourcen können ein Ressourcenqualifizierermuster verwenden, um je nach gerätespezifischer Skalierung verschiedene Ressourcen zu laden. Alle Ressourcen, die ursprünglich für Ihre App abgerufen wurden, werden automatisch neu ausgewertet, wenn sich der Skalierungsfaktor ändert, während die App ausgeführt wird. Wenn diese Ressource die Bildquelle für ein Image-Objekt ist, wird eines der Quellladeereignisse (ImageOpened oder ImageFailed) ausgelöst, als Ergebnis der Systemaktion, die neue Ressource anzufordern und dann auf das Image anzuwenden. Das Szenario, in dem eine Änderung der Laufzeitskalierung auftreten kann, ist, wenn der Benutzer Ihre App auf einen anderen Monitor verschiebt, wenn mehrere verfügbar sind. Daher können ImageOpened - oder ImageFailed-Ereignisse zur Laufzeit auftreten, wenn die Skalierungsänderung behandelt wird, auch wenn die Quelle in XAML festgelegt ist.