Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les applications qui utilisent DynamicResource incorrectement se bloquent maintenant au moment de l’exécution.
Version introduite
.NET 10
Comportement précédent
Auparavant, les applications qui initialisaient DynamicResource incorrectement continueraient à s’exécuter sans se bloquer. Les valeurs reviendraient aux valeurs par défaut, et un InvalidOperationException apparaîtrait dans la sortie.
Nouveau comportement
Les applications se bloquent maintenant avec une erreur similaire à ce qui suit :
System.Windows.Markup.XamlParseException: Set property 'System.Windows.ResourceDictionary.Source' threw an exception.
Cela se produit lorsqu’un type de ressource incorrect est utilisé avec DynamicResource. Par exemple, l’extrait de code ci-dessous provoque un blocage, car un SolidColorBrush code est utilisé au lieu de System.Windows.Media.Color:
<SolidColorBrush x:Key="RedColorBrush" Color="#FFFF0000" />
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColorBrush}" />
Type de changement cassant
Il s’agit à la fois d’un changement source-incompatible et comportemental .
Raison de la modification
Cette modification améliore les performances de l’utilisation DynamicResource . L’optimisation garantit que l’initialisation incorrecte des ressources est interceptée immédiatement, ce qui empêche le comportement inattendu.
Action recommandée
Pour éviter les incidents, vérifiez que les types de ressources appropriés sont utilisés avec DynamicResource. Par exemple, le code suivant résout le problème à l’aide de System.Windows.Media.Color au lieu de SolidColorBrush:
<Color x:Key="RedColor">#FFFF0000</Color>
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColor}" />
API affectées
Aucun.