在wp7中动态更改webbrowser中的字体大小

时间:2012-07-06 07:11:22

标签: windows-phone-7 zoom font-size

任何人都可以帮助我,我如何以编程方式增加或减少Windows Phone 7 c sharp中的Web浏览器控件的字体大小。我需要这个来在Web浏览器控件中实现缩放功能。 这是我的代码

 private void btn_zoomin_click(object sender, EventArgs e)
    {
        double fs = webBrowser1.FontSize;

        webBrowser1.FontSize = fs+10;
     }

但字体根本没有改变。

任何形式的帮助将不胜感激。  非常感谢,  Munazza

3 个答案:

答案 0 :(得分:2)

是的,有一个解决方案,您可以在html页面内触发一个脚本,通过使用webBrowser的“InvokeScript”来扩大字体,这里有一个示例:

webBrowser1.InvokeScript("ChangeFontSize","12");

待办事项:html中的脚本:

 <script type="text/javascript">
        function ChangeFontSize(size) {
            .....
            ....
            return true;
        }
<script/>

答案 1 :(得分:0)

我不认为它应该以这种方式工作。

用户可以像在Internet Explorer中一样放大和缩小,但您无法更改字体大小。

从技术上讲,您可以获取要显示的html文件,解析它,如果fontize是内联定义的,您可以更改它,然后在WebBrowser控件中显示新的html文件,但是我没有&#39;认为这是一个非常好的主意。

答案 2 :(得分:0)

您必须使用WebBrowser.InvokeScript:

// Initial text size
int textSize = 100;

private void TextPlusOnClick(object sender, EventArgs e)
{
    textSize *= 2;
    string szfn = "{styleText = \"body { -ms-text-size-adjust:" + textSize + "% }\";styleTextNode = document.createTextNode(styleText);styleNode = document.createElement(\"style\");styleNode.appendChild(styleTextNode);document.getElementsByTagName(\"head\")[0].appendChild(styleNode);};";
    webBrowser.InvokeScript("eval", szfn);
}

private void TextMinusOnClick(object sender, EventArgs e)
{
    textSize /= 2;
    string szfn = "{styleText = \"body { -ms-text-size-adjust:" + textSize + "% }\";styleTextNode = document.createTextNode(styleText);styleNode = document.createElement(\"style\");styleNode.appendChild(styleTextNode);document.getElementsByTagName(\"head\")[0].appendChild(styleNode);};";
    webBrowser.InvokeScript("eval", szfn);
}

请参阅a description on the text size adjust propertythis post on MSDN