2011-01-24 22 views
6

In un'applicazione Silverlight è possibile definire le risorse in App.xaml e avere accesso ad esse da qualsiasi documento XAML, senza dover unire esplicitamente tali risorse.Risorse globali in una libreria di classi

Esiste una soluzione equivalente per una libreria di classi? Ho creato un dizionario di risorse separato nella libreria di classi, ma devo unirlo come segue prima di poterlo usare.

<UserControl.Resources> 
<ResourceDictionary> 
    <ResourceDictionary.MergedDictionaries> 
    <ResourceDictionary Source="MyResources.xaml" /> 
    </ResourceDictionary.MergedDictionaries> 
</ResourceDictionary> 
</UserControl.Resources> 

C'è un modo per evitare questo? È piuttosto noioso farlo in tutti i documenti XAML per risorse utilizzate a livello globale.

risposta

1

Stavo per fare questa stessa domanda. Sfortunatamente, quello che hai descritto è molto simile a quello che sono riuscito a fare. In teoria, sembra che dovresti essere in grado di inserirli nel file themes \ generic.xaml della libreria, ma non sono stato in grado di farlo funzionare - forse sto solo facendo qualcosa di ossuto. Il meglio che ho potuto fare è solo una variante leggermente più corto di quello che stai facendo, cioè, di lasciare fuori la sintassi MergedDictionaries:

<UserControl.Resources> 
    <commonui:CommonStringsPublic x:Key="commonStrings" /> 
    <ResourceDictionary Source="/Alanta.Client.UI.Common;component/CommonResources.xaml" x:Key="commonResources" /> 
</UserControl.Resources> 

Mi piacerebbe avere qualcuno che mi puntare a una migliore soluzione :-).

+0

Immagino che sia buono come si arriva .. Grazie! Nel frattempo ho anche creato un modello di studio visivo per creare controlli utente che aggiungono questo e altri codici comuni (ad esempio direttive xmlns, ecc.). –

Problemi correlati