Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace, které používají DynamicResource nesprávně, nyní selhávají během běhu.
Verze byla představena
.NET 10
Předchozí chování
Dříve aplikace, které nesprávně inicializovaly DynamicResource, běžely nadále bez chybového ukončení. Hodnoty by se vrátily k výchozím nastavením a ve výstupu by se zobrazilo InvalidOperationException.
Nové chování
Aplikace se nyní zhroutí s chybou podobnou následující.
System.Windows.Markup.XamlParseException: Set property 'System.Windows.ResourceDictionary.Source' threw an exception.
K tomu dochází, když se s DynamicResource používá nesprávný typ prostředku. Následující fragment kódu například způsobí chybové ukončení, protože SolidColorBrush se používá místo System.Windows.Media.Color:
<SolidColorBrush x:Key="RedColorBrush" Color="#FFFF0000" />
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColorBrush}" />
Typ zásadní změny
Toto je změna, která je jak nekompatibilní se zdrojem, tak chování.
Důvod změny
Tato změna zlepšuje výkon použití DynamicResource. Optimalizace zajišťuje, že se okamžitě zachytí nesprávná inicializace prostředků, což brání nezamýšleným chováním.
Doporučená akce
Abyste se vyhnuli chybám, ujistěte se, že jsou použity DynamicResource správné typy prostředků. Například následující kód vyřeší tento problém použitím System.Windows.Media.Color namísto SolidColorBrush.
<Color x:Key="RedColor">#FFFF0000</Color>
<SolidColorBrush x:Key="ResourceName" Color="{DynamicResource RedColor}" />
Ovlivněná rozhraní API
Žádné.