In WPF è stato possibile organizzare XAML per più controlli utente mantenendo la marcatura in file XAML separati nella cartella temi e quindi utilizzando MergedDictionaries per importarli in generic.xaml:Utilizzo di MergedDictionaries in generic.xaml in Silverlight 3
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MyFirstControl.xaml" />
<ResourceDictionary Source="MySecondControl.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Con la disponibilità della beta Silverlight 3 che introduce il supporto del dizionario unito, sembrava che fosse possibile fare lo stesso con i controlli utente di Silverlight. Ma nonostante provi tutte le combinazioni di azione build sui file del dizionario unito e la sintassi corrispondente per il riferimento di origine in generic.xaml, non riesco a farlo funzionare.
Qualcun altro ha provato? Qualcuno sa se è possibile e se sì cosa sto facendo male?
OK - così dopo numerosi progetti di test, ottenendo campioni che lavorano in WPF e spostando il codice XAML e C# oltre a Silverlight 3 e non riesce ancora, ho fatto una disinstallazione completa e reinstalla di TUTTE le Silverlight 2 bit E TUTTI i beta bit Silverlight 3 e finalmente ha funzionato.
Posso solo supporre che in qualche modo si sia conclusa con un'installazione difettosa della beta - non lo so ma sembrava che stavo ancora eseguendo il runtime di Silverlight 2 nonostante apparentemente avesse installato il runtime versione 3.
Grazie Jared per dare un'occhiata a cose e controllando con la squadra SL3 ... e grazie a Amy Dullard e Shawn Wildermuth per la produzione delle istruzioni e file batch per l'esecuzione di Silverlight 2 & 3 sulla stessa macchina.
Ho avuto l'impressione che MergedDictionaries non fosse supportato in Silverlight. È nuovo in SL3? – Rich
Sì, nuovo su SL3. –
Sì, non ho problemi a utilizzare le risorse unite in genere, ma provare a utilizzare file xaml separati per gli stili/modelli di diversi comandi utente e riunirli come dizionari uniti in un file generic.xaml è ciò che mi dà problemi. –