Frage

Microsoft hat eine praktische Referenz der verschiedenen Kontrollen in der System.Windows.Controls-Namespace und Kontrollen, die in der Laufzeit enthalten.

Für alle Steuerelemente hier aufgelistet, die nicht in der Laufzeit enthalten, müssen Sie den Verweis auf die System.Windows.Controls schließen Montage und wählen Sie „Kopieren local“ in Visual Studio. Also das ist, was mache ich zur Zeit und es funktioniert.

Allerdings, indem diese DLL Ich füge fast 80 KB meiner XAP-Datei (und meine XAP-Datei ist nur 110 KB). Die einzige Kontrolle Ich verwende das erfordert es das Gridsplitter ist. Gibt es eine Möglichkeit, eine verkürzte Version dieser Versammlung neu zu erstellen, die nur die Gridsplitter enthalten?

War es hilfreich?

Lösung

Es sieht aus wie ich habe gerade die Antwort für Silverlight 2 ...

Source Code für Silverlight 2 Runtime und SDK Kontrollen

Und ich denke, dass jetzt für mich arbeiten werde. Ich sollte in der Lage sein, durch das Projekt zu gehen und alle unnötigen Bits aus dem Projekt auszuschließen und machen Sie einen neu aufbauen.

Ich bin immer noch mit Silverlight 2, aber ich werde bis 3 in ein paar Monaten werden wechseln. Und ich kann nicht die gleiche Sache für Silverlight scheinen 3. zu finden Vielleicht ist die Quelle noch nicht verfügbar ist für Silverlight 3?

UPDATE:

got Also habe ich diese Arbeit, nachdem sie durch einige Reifen springen. Auf den ersten Ich habe die Source-Projekt von Microsoft und begann dann nur Sachen zu entfernen. Aber dann bemerkte ich, dass ich nicht die Lösung aufbauen konnte. In der Tat konnte ich nicht eine unmodifizierte Version der Lösung entweder bauen. Ich war Fehler über starke Überprüfung des Namens zu bekommen. Ich versuchte Entfernen des Häkchens starken Namen Unterzeichnung der „Signing“ Abschnitt der Projekteigenschaften, aber ich habe den gleichen Fehler. Ich habe sogar die Montage der starken Überprüfung des Namens Sprungliste hinzugefügt und schließlich hinter dem Fehler kam. Aber als ich versuchte, die neue Versammlung in meinem Silverlight-Projekt aufzunehmen und es in einem Browser laufen, ich einen leeren Bildschirm bekommen würde (das Silverlight-Steuerelement geladen nie). Ich bin immer noch nicht sicher, warum, aber ich bin sicher, dass ich etwas fehlte.

Schließlich gerade ein neues Projekt, das ich geschaffen. Es scheint, ich sollte dies von Anfang an getan haben. Ich brauche nur eine leere C # Silverlight-Klassenbibliothek für die Gridsplitter zu erstellen. Dann fing ich an, die für die Gridsplitter zu diesem Projekt die Quelldateien hinzufügen und dann habe ich den Namespace und Namen Baugruppe System.Windows.Controls. Nachdem dieses Projekt den Bau und Referenzierung es in meinem Silverlight-Anwendung arbeitete sie schließlich. Das Ergebnis: ein 60 KB Einsparungen

.

Ich schrieb ein wenig mehr über diese hier:

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

Falls jemand sie will, ich habe 4 der Steuerelemente aus dem SDK bekam hier ...

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top