Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Applikationer som använder DynamicResource felaktigt kraschar nu vid körning.
Version lanserad
.NET 10
Tidigare beteende
Tidigare skulle program som felaktigt initierats DynamicResource fortsätta att köras utan att krascha. Värdena återgår till standardvärdena och ett InvalidOperationException visas i utdata.
Nytt beteende
Program kraschar nu med ett fel som liknar följande:
System.Windows.Markup.XamlParseException: Set property 'System.Windows.ResourceDictionary.Source' threw an exception.
Detta inträffar när en felaktig resurstyp används med DynamicResource. Kodfragmentet nedan orsakar till exempel en krasch eftersom en SolidColorBrush används i stället för System.Windows.Media.Color:
<SolidColorBrush x:Key="RedColorBrush" Color="#FFFF0000" />
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColorBrush}" />
Typ av brytande ändring
Detta är både en käll-inkompatibel och beteendeförändring .
Orsak till ändring
Den här ändringen förbättrar användningens DynamicResource prestanda. Optimeringen säkerställer att felaktig resursinitiering fångas omedelbart, vilket förhindrar oavsiktligt beteende.
Rekommenderad åtgärd
För att undvika krascher kontrollerar du att rätt resurstyper används med DynamicResource. Följande kod löser till exempel problemet med hjälp System.Windows.Media.Color av i stället för SolidColorBrush:
<Color x:Key="RedColor">#FFFF0000</Color>
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColor}" />
Berörda API:er
Ingen.