WP7 WebBrowser的透明背景(解决方法)

时间:2011-09-16 20:26:49

标签: windows-phone-7 background web-controls

无法为WP7的WebBrowser设置透明背景。为了给透明背景留下印象,我想做以下的解决方法。我想要:

  1. 在页面上查找WebBrowser的位置和大小。
  2. 获取页面的背景图片。
  3. 使用我在步骤1中找到的值裁剪它。
  4. 将结果保存在IsolatedStorage中
  5. 解析HTML并放置<body background="RESULTBACKGROUND">
  6. MyWebBrowser.NavigateToString(NewHtmlString);
  7. 我认为这应该是透明背景的解决方法,应该可行。

    目前我正在尝试在步骤5中放置任何.jpg图像(假设test.jpg)。 但失败了。我将文件的“Build Action”属性设置为“Content”。它位于项目的根目录中。并且<body background="test.jpg">无效。 WebBrowser的背面仍然是白色的。

    我做错了什么?


    UPD: 第5步解决了。

    2Claus:不!不仅来自网络。我将html文件和图像文件保存到IsolatedStorage,WebBrowser可以将图像显示为背景。

    现在的问题是背景无法修复。我用风格尝试了许多不同的东西。我还尝试在我的文本后面添加一个固定的div。什么都行不通。图片始终滚动文本。我试图添加onscroll事件并传递它滚动的值以相反的方向移动div,但div粘贴到页面上:(

    有什么想法吗?

3 个答案:

答案 0 :(得分:2)

因此,假设您正在讨论 WebBrowser 控件,您忘记了HTML只能引用万维网上的网址。

因此,您需要在网站上托管背景图像,或者需要注入一种CSS样式,将背景设置为白色或黑色(平台的两种默认背景颜色)。

答案 1 :(得分:0)

对于WebBrowser,您实际上不必将其保存到ISO以对页面进行更改。您可以加载它正常导航到它,然后使用InvokeScript通过自定义JS代码进行更改。虽然这可能有点棘手,因为您可能需要严重依赖于eval和stringization。克劳斯提到的问题仍然存在 - 但你需要做一些实验。通过Mango版本和SDK 7.1+,该平台支持IsoltatedStorage图像源,形式为:// path / file - 也许 - 也许 - 也许是平方 - webbrowser的渲染器也可以对它们进行修改 - 然后将你的bkg的url设置为可行。我怀疑,因为它可能被视为一些轻微的安全漏洞等等

答案 2 :(得分:0)

我现在碰到了相同的背景固定图像问题。对于在这里游荡的人,我解决了将内容放入固定高度的容器(div)中因此容器内容正在滚动而不是html页面,使背景图片“固定”。

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

当然,背景位置和div高度是专门为页面中的WebBrowser位置设置的,并且它的大小。