Как включить определенные элементы управления из System.Windows.Controls в мое приложение Silverlight?

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

Вопрос

Microsoft имеет удобный справочник по различным элементам управления в Пространство имен System.Windows.Controls и элементы управления, включенные в среду выполнения..

Для любых перечисленных здесь элементов управления, которые не включены в среду выполнения, необходимо включить ссылку на сборку System.Windows.Controls и выбрать «копировать локально» в Visual Studio.Вот что я сейчас делаю, и это работает.

Однако, включив эту DLL, я добавляю к своему файлу XAP почти 80 КБ (а размер моего файла XAP составляет всего 110 КБ).Единственный элемент управления, который я использую, для которого это требуется, — это GridSplitter.Есть ли способ пересобрать сокращенную версию этой сборки, включающую только GridSplitter?

Это было полезно?

Решение

Похоже, я только что нашел ответ для Silverlight 2...

Исходный код для среды выполнения Silverlight 2 и элементов управления SDK

И я думаю, что на данный момент мне это подойдет.Я должен иметь возможность просмотреть проект, исключить из него все ненужные фрагменты и выполнить перестройку.

Я все еще использую Silverlight 2, но через пару месяцев перейду на 3.И я не могу найти то же самое для Silverlight 3.Может быть, исходный код для Silverlight 3 еще недоступен?

ОБНОВЛЯТЬ:

Итак, у меня это заработало, преодолев некоторые трудности.Сначала я скачал исходный проект с сайта Microsoft, а затем просто начал удалять что-то.Но потом я заметил, что не могу найти решение.На самом деле я также не смог создать немодифицированную версию решения.Я получал ошибки при проверке строгого имени.Я попытался снять флажок с подписи строгих имен в разделе «Подписание» свойств проекта, но получил ту же ошибку.Я даже добавил сборку в список пропуска проверки строгого имени и, наконец, устранил ошибку.Но когда я попытался включить новую сборку в свой проект Silverlight и запустить ее в браузере, я получил пустой экран (элемент управления Silverlight так и не загрузился).Я до сих пор не понимаю почему, но уверен, что что-то упустил.

Наконец я только что создал новый проект.Кажется, мне следовало сделать это с самого начала.Мне просто нужно было создать пустую библиотеку классов C# Silverlight для GridSplitter.Затем я начал добавлять в этот проект исходные файлы, необходимые для GridSplitter, а затем установил пространство имен и имя сборки как System.Windows.Controls.После создания этого проекта и ссылки на него в моем приложении Silverlight он наконец заработал.Результат:экономия 60 КБ.

Подробнее об этом я писал здесь:

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

Если они кому-то нужны, у меня есть 4 элемента управления из SDK...

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top