Белый фон при встраивании приложения silverlight - PullRequest
1 голос
/ 07 февраля 2010

В настоящее время у меня есть приложение silverlight, разработанное в основном в режиме смешивания выражений, с использованием границы с эффектом падающей тени, окружающей элемент управления с закругленными прямоугольниками. Когда я встраиваю это приложение в страницу, вокруг объекта появляется белый фон. Я хочу сделать этот фон либо прозрачным, чтобы цвет фона страницы (определенный в css) просвечивал, либо как-то изменить приложение silverlight, чтобы синий фон вместо белого.

Скриншот моей текущей проблемы: http://img694.imageshack.us/img694/8132/problemz.jpg

Вот код, который я использую для встраивания приложения в страницу:

<object width="750px" height="480px" data="data:application/x-silverlight-2," type="application/x-silverlight-2">
    <param name="source" value="/ClientBin/Debug/my.xap" />
    <param name="windowless" value="true" />
</object> 

Я пытался возиться с параметром без окон, но безуспешно. Спасибо за любую помощь

Ответы [ 2 ]

2 голосов
/ 07 февраля 2010

Решение: добавлен

<param name="background" value="transparent" />
1 голос
/ 07 февраля 2010

"Я хочу сделать этот фон прозрачным, чтобы цвет фона страницы (определенный в css) показывался через"

Нет, нет.

Краткий ответ: Просто измените фон корневого элемента страницы Silverlight на светло-голубой или какой-либо другой.

Более длинный ответ: Можно переплетать содержимое браузера с содержимым Silverlight, используя WindowsLess = True.
http://msdn.microsoft.com/en-us/library/cc838156(VS.95).aspx

Длинный ответ: WindowsLess = True - отстой с точки зрения производительности и имеет много других ограничений, поэтому не используйте его.
Ограничения режима без окон для Silverlight

Давайте сделаем обзор плагинов для браузера 101:
1) Инициализирован тег объекта, принадлежащий плагину "Foo"
2) Браузер загружает плагин "Foo"
3) Браузер делегирует отрисовку прямоугольника (X1, Y1, X2, Y2) на странице плагину Foo.

Единственный способ переплетения контента из браузера с плагином - использовать смешанный режим рендеринга. Который по сути работает так:
1) Браузер отображает Rect (X1, Y1, X2, Y2) и отправляет это плагину Foo.
2) Плагин Foo чередует результат шага (1) в каждом отдельном кадре при рендеринге.

В шаге (1) не должно быть , когда вы находитесь в режиме без переплетения. Что тоже по умолчанию.

Итак, добавляя переплетение, вы добавляете больше шагов к каждому кадру рендеринга в Silverlight. Что в целом плохо по соображениям производительности.

Итог: То, что вы просите - это переплетение контента, который в Silverlight задается параметром WindowsLess = True, но это вызывает проблемы с производительностью и другие ограничения. Поскольку ваш сценарий достаточно прост, я бы просто установил фон Silverlight на соответствующий цвет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...