Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anwendungen, die DynamicResource zur Laufzeit falsch verwenden, stürzen jetzt ab.
Eingeführte Version
.NET 10
Vorheriges Verhalten
Zuvor haben Anwendungen, die DynamicResource falsch initialisiert haben, ohne abzustürzen weitergearbeitet. Die Werte würden zu den Standardwerten zurückkehren, und ein InvalidOperationException würde in der Ausgabe angezeigt werden.
Neues Verhalten
Anwendungen stürzen jetzt mit einem Fehler ab, der der folgenden ähnelt:
System.Windows.Markup.XamlParseException: Set property 'System.Windows.ResourceDictionary.Source' threw an exception.
Dies tritt auf, wenn ein falscher Ressourcentyp mit DynamicResource verwendet wird. Der folgende Codeausschnitt verursacht z. B. einen Absturz, da statt SolidColorBrush ein System.Windows.Media.Color verwendet wird.
<SolidColorBrush x:Key="RedColorBrush" Color="#FFFF0000" />
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColorBrush}" />
Art der einschneidenden Änderung
Dies ist sowohl eine quellinkompatible als auch eine verhaltensbasierte Änderung.
Grund für Änderung
Die Nutzung von DynamicResource wird durch diese Änderung verbessert. Durch die Optimierung wird sichergestellt, dass die falsche Ressourceninitialisierung sofort abgefangen wird und unbeabsichtigtes Verhalten verhindert wird.
Empfohlene Aktion
Um Abstürze zu vermeiden, stellen Sie sicher, dass die richtigen Ressourcentypen mit DynamicResource verwendet werden. Der folgende Code behebt beispielsweise das Problem, indem System.Windows.Media.Color anstelle von SolidColorBrush verwendet wird:
<Color x:Key="RedColor">#FFFF0000</Color>
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColor}" />
Betroffene APIs
Keiner.