Прозрачный фон WP7 WebBrowser (обходной путь) - PullRequest
0 голосов
/ 17 сентября 2011

Невозможно установить прозрачный фон для WebBrowser из WP7.Чтобы создать впечатление прозрачного фона, я хочу сделать следующий обходной путь.Я хочу:

  1. Чтобы найти положение и размер веб-браузера на странице.
  2. Чтобы получить фоновое изображение страницы.
  3. Обрезать его значениями, которые я нашел наШаг 1.
  4. Чтобы сохранить результат в IsolatedStorage
  5. Для анализа HTML и поместить <body background="RESULTBACKGROUND">
  6. MyWebBrowser.NavigateToString(NewHtmlString);

Я думаю, что это должнобыть обходным путем прозрачного фона и должен работать.

Пока я пытаюсь просто разместить любое изображение .jpg (скажем, test.jpg) на шаге 5. Но не получилось.У меня есть свойство «Build Action» для файла, установленного в «Content».Он находится в корне проекта.И <body background="test.jpg"> не работает.Задняя часть веб-браузера по-прежнему белая.

Что я делаю не так?


UPD: шаг 5 решен.

2 Клаус: Нет!Не только из сети.Я сохранил как HTML-файл, так и файл изображения в IsolatedStorage, и WebBrowser может показывать изображение в качестве фона.

Теперь проблема в том, что фон не может быть исправлен.Я перепробовал много разных вещей со стилями.Я также попытался добавить фиксированный div за моим текстом.Ничего не работаетКартинка всегда прокручивается с текстом.Я попытался добавить событие onscroll и передать ему прокручиваемое значение, чтобы переместить div в противоположном направлении, но div приклеено к странице: (

Есть идеи?

Ответы [ 3 ]

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

Итак, если вы говорите о элементе управления WebBrowser , вы забываете, что HTML может ссылаться только на URL-адреса во всемирной паутине.

Так что либо вам нужно разместить фоновые изображения на веб-сайте, либо вам нужно внедрить стиль CSS, который задает белый или черный фон (два цвета фона по умолчанию для платформы).

0 голосов
/ 05 января 2012

Я сейчас столкнулся с той же проблемой с фиксированным фоновым изображением. Для тех, кто бродит здесь, я решил разместить контент в контейнере фиксированной высоты (div), поэтому содержимое контейнера прокручивается, а не html-страница, оставляя фоновое изображение «фиксированным».

body 
{ 
    background-image:url('...'); 
    background-position:-20px -150px; 
    background-repeat:no-repeat; 
    background-attachment:fixed; 
}
div
{
    height:300px;
    overflow:scroll;
}

Конечно, background-position и div высота устанавливаются специально для позиции WebBrowser на странице и ее размера.

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

Для WebBrowser, вам на самом деле не нужно сохранять его в ISO, чтобы вносить изменения на странице. Вы можете загрузить его, перейдя к нему в обычном режиме, а затем использовать InvokeScript, чтобы внести изменения с помощью пользовательского кода JS. Это может быть немного сложнее, так как вам, вероятно, придется сильно полагаться на eval и stringization. Проблема, упомянутая Клаусом, все еще существует, но вам нужно провести несколько экспериментов. С выпуском Mango и SDK 7.1+ платформа поддерживает источники изображений IsoltatedStorage в форме: // путь / файл - может быть - может быть - может быть - может быть в квадрате - средство рендеринга веб-обозревателя тоже их поддерживает - тогда установка URL вашего bkg на такое будет работать. Хотя я сомневаюсь, так как это можно рассматривать как незначительное нарушение безопасности и т. Д.

...