Прозрачный фон в элементе управления WebBrowser в WP7 - PullRequest
1 голос
/ 12 сентября 2011

Хотя это не выглядит обнадеживающим, кто-нибудь знает, возможно ли установить фон в веб-браузере как прозрачный, чтобы фон приложения служил фоном содержимого в веб-браузере?

Причина, по которой я спрашиваю, состоит в том, чтобы вместо того, чтобы хранить некоторый полустатический текст в приложении, мы храним его в Интернете и ссылаемся на него оттуда.(Так что, если нам нужно сделать обновления, нам не нужно обновлять приложение) У нас есть прозрачные элементы управления в iOS и Android, и мы хотели бы сделать это и здесь.

Если вы не можете это сделатьМожете ли вы придумать какие-либо альтернативы?

Ответы [ 2 ]

2 голосов
/ 12 сентября 2011

Это невозможно, так как элемент управления WebBrowser не является «истинным» (полностью управляемым) элементом управления silverlight, это, по сути, просто оболочка собственного элемента управления и не поддерживает прозрачность.

В качестве альтернативы, простополучить содержимое / текст с веб-сайта и отобразить его в элементах управления, поддерживающих прозрачность.
В зависимости от того, насколько сложно это отформатировать, будет зависеть форматирование содержимого, которое вы получаете с веб-сайта.WrapPanel (из Инструментария), вероятно, очень поможет для такого рода вещей.

0 голосов
/ 12 сентября 2011

Это плохое решение проблемы, но, возможно, оно вам немного поможет: если вы просто хотите, чтобы фон веб-браузера точно совпадал с фоном цвета вашего приложения, вы можете решить проблему просто заставляя страницу иметь одинаковый задний цвет. Используйте WebBrowser.InvokeScript и выполните небольшой JS-скрипт, который будет выполнять document.body.background = #rrggbb с вашим bkgcolor. Возможно, вы захотите попробовать добавить «альфа», но я думаю, что в лучшем случае у вас получится белый.

Пройдя этот подход, сделав небольшой шаг вперед, вы можете попытаться сделать снимок экрана своего приложения, сохранить его, а затем выполнить сценарий JS, чтобы установить bkgimage страницы. Bkgimage можно настроить с помощью CSS, чтобы не прокручивать содержимое страницы, так что на самом деле это может выглядеть красиво, но я никогда не пробовал.

Из того, что я знаю, WebBrowser изначально поддерживает настройку фона, потому что, как сказал Мэтт, это внутренний компонент, который готовит рендеринг html-контента, и поэтому он ничего не знает о вашем приложении и просто соответствует точному стилю, который написан на странице. У страницы всегда есть какой-то цвет фона - т.е. белый - и поэтому визуализированное изображение имеет то же самое. Очень похожая «концепция» также присутствует на некоторых других платформах - на примере. RIM / BlackBerry 4.x, 5.x и я думаю, что в 6.x тоже. Хм, но во-вторых, CSS поддерживает не только #RGB, но и #RGBA, поэтому нативный хост может генерировать рендеринг с соответствующим альфа-каналом, если только вы установите цвет bkg тела страницы с альфа-каналом. Тем не менее, я полагаю, что он все равно станет белым.

...