2010-02-15 12 views

risposta

11

Un modo per farlo sarebbe quello di creare una nuova libreria di classi Silverlight che sarebbe il tuo gruppo tema/stile condiviso a cui fare riferimento gli altri progetti Silverlight. Questo assembly avrebbe uno o più file XAML Resource Dictionary che potrebbero definire tutti i tuoi stili, pennelli e modelli. È anche possibile impostare alcune gerarchie di stili a cascata utilizzando l'attributo BasedOn della classe Style.

È quindi possibile utilizzare MergedDictionaries per unire questi stili nella vostra applicazione sia a livello di App.xaml o su una base a livello di pagina.

<Application.Resources> 
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="/SharedThemeAssembly;component/MyStyles.xaml"/> 
      ...other ResourceDictionaries to merge in... 
     </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
</Application.Resources> 

Si potrebbe quindi fare riferimento alle condivisi stili/pennelli come si farebbe normalmente qualsiasi altro StaticResource.

+0

Vorrei poter votare due volte :). – retrodrone

4

Ci sono due opzioni, prima come Dan indica che è possibile creare una libreria condivisa dagli altri progetti. Se i client accedono a diversi progetti e i tuoi progetti utilizzano la memorizzazione nella cache delle applicazioni, riduci la dimensione totale del download.

L'altro approccio consiste nel creare un dizionario di risorse in un progetto, quindi aggiungere lo stesso file agli altri progetti. Nota nella finestra di dialogo Aggiungi elemento esistente il pulsante Aggiungi ha una piccola immagine a discesa, rilasciarlo e quindi selezionare "Aggiungi come collegamento".

Questo lascia il ditionary come un semplice file Xaml. Un vantaggio che posso vedere per questo è di lasciare il file del dizionario fuori da Xap e metterlo semplicemente nella cartella clientBin (o in qualunque altra cartella in cui è inserito Xap). Questo approccio consente a tutti gli Xaps di condividere il singolo dizionario (allo stesso modo del primo approccio) ma consente di ottimizzare Xaml senza ricorrere a ricostruzioni disordinate.

+0

http://stackoverflow.com/questions/9215906/cant-find-my-styles-in-silverlight-5/9216046#9216046. Puoi aiutarmi su questo? – Vinicius

Problemi correlati