Ho la seguente serie di codice nel mio App.xaml:Riferimento a una risorsa in un ResourceDictionary da un ResourceDictionary diversa in Silverlight
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Client.Common;component/Theme/Brushes.xaml"/>
<ResourceDictionary Source="/Client.Common;component/Theme/Fonts.xaml"/>
<ResourceDictionary Source="/Client.Common;component/Theme/CoreStyles.xaml"/>
<ResourceDictionary Source="/Client.Common;component/Theme/SdkStyles.xaml"/>
<ResourceDictionary Source="/Client.Common;component/Theme/MyAppName.xaml"/>
<ResourceDictionary Source="/Client.Common;component/Controls/NavigationPanel.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
Il NavigationPanel.xaml contiene uno stile che assomiglia a questo:
<Style x:Key="NavigationPanelListBox" TargetType="ListBox">
<Setter Property="Background" Value="{StaticResource DarkBackground}" />
<Lots of XAML>
</Style>
il {StaticResource DarkBackground} è definita nel file di Brushes.xaml (cioè il primo r dizionario esource). È definito come
<SolidColorBrush x:Key="DarkBackground" Color="#FF707176" />
nel dizionario risorse.
In fase di esecuzione, ottengo il seguente errore:
Cannot find a Resource with the Name/Key DarkBackground [Line: 16 Position: 44]
I numeri di riga e la posizione fa riferimento al dizionario risorsa NavigationPanel.xaml nel App.xaml.
Posso fare riferimento al pennello da altri controlli, ma non al dizionario delle risorse incluso.
Perché non posso fare riferimento o perché non risolve il riferimento a una risorsa che è più in alto nella gerarchia del dizionario delle risorse unite ?? Cosa mi manca qui?
Questo funziona e capisco perché si risolve ora ma perché non si risolve quando si trova nel dizionario di livello superiore? Segnalo la tua risposta come corretta, ma mi piacerebbe una spiegazione se sai perché è così. –
Trovato in un'altra discussione. Lasciando qui per i posteri. https://social.msdn.microsoft.com/forums/windowsapps/en-US/2be9a5f6-5313-448d-a9d9-296bac42215e/using-style-defined-in-merged-dictionary-from-another-merged-dictionary? forum = wpdevelop Grazie e credito a Kamil Nieweglowski per questo. – Snouto