Come faccio a includere controlli specifici da System.Windows.Controls nella mia applicazione Silverlight?

StackOverflow https://stackoverflow.com/questions/1363087

Domanda

Microsoft ha un utile riferimento dei vari controlli nel System.Windows.Controls controlli dello spazio dei nomi e che sono inclusi nel runtime .

Per tutti i controlli elencati qui che non sono inclusi nella fase di esecuzione, è necessario includere il riferimento alle System.Windows.Controls assemblaggio e selezionare "copia locale" in Visual Studio. Ecco, questo è quello che sto facendo attualmente e funziona.

Tuttavia, includendo questa DLL Sto aggiungendo quasi 80 KB al mio file XAP (e il mio file XAP è solo 110 KB). L'unico controllo che sto usando che lo richiede è il GridSplitter. C'è un modo per ricostruire una versione condensata di questa assemblea che include solo il GridSplitter?

È stato utile?

Soluzione

Sembra che ho appena trovato la risposta per Silverlight 2 ...

codice sorgente per Silverlight 2 Runtime e SDK Controlli

E penso che sarà il lavoro per me, per ora. Dovrei essere in grado di passare attraverso il progetto ed escludere tutti i bit non necessari dal progetto e fare una ricostruzione.

sto ancora utilizzando Silverlight 2, ma sarò il passaggio a 3 in un paio di mesi. E io non riesco a trovare la stessa cosa per Silverlight 3. Forse la fonte non è ancora disponibile per Silverlight 3?

UPDATE:

Così ho preso questo lavoro dopo il salto attraverso alcuni cerchi. In un primo momento ho scaricato il progetto di origine da Microsoft e poi appena iniziato la rimozione di roba. Ma poi ho notato che non ho potuto creare la soluzione. In realtà non ho potuto costruire una versione non modificata della soluzione sia. Mi è stato sempre errori circa forte di verifica nome. Ho provato unchecking nome sicuro firma dalla sezione "Firma" di proprietà del progetto, ma ho ottenuto lo stesso errore. Ho anche aggiunto l'assemblea alla forte elenco dei nomi di verifica salto e finalmente passato l'errore. Ma quando ho cercato di includere il nuovo gruppo nel mio progetto Silverlight ed eseguirlo in un browser, mi piacerebbe avere uno schermo in bianco (il controllo Silverlight mai caricato). Io non sono ancora sicuro perché, ma sono sicuro che mi mancava qualcosa.

Finalmente ho appena creato un nuovo progetto. Sembra che avrei dovuto fare questo fin dall'inizio. Avevo solo bisogno di creare un vuoto C # Silverlight Libreria di classi per la GridSplitter. Poi ho iniziato ad aggiungere la fonte file necessari per il GridSplitter a questo progetto e quindi ho impostato il nome dello spazio dei nomi e il montaggio a System.Windows.Controls. Dopo aver costruito questo progetto e riferimento nel mio app Silverlight finalmente ha funzionato. Il risultato:. A 60 KB risparmio

ho scritto un po 'di più su questo qui:

http://regexhero.net/blog/2009 /09/optimizing-silverlight-xap-file.html

Nel caso qualcuno li vuole, ho 4 dei controlli dal SDK proprio qui ...

http://www.silverlightxap.com/controls/tagged/silverlight-sdk

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top