2012-07-06 47 views
0

任何人都可以請幫助我,我如何以編程方式增加或減少Windows Phone 7 c sharp中的web瀏覽器控制的字體大小。我需要這個在Web瀏覽器控件中實現縮放功能。 這裏是我的代碼動態更改wp7 webbrowser中的字體大小

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

     webBrowser1.FontSize = fs+10; 
    } 

但字體根本沒有被改變。

任何形式的幫助將不勝感激。 非常感謝, Munazza

回答

0

我不認爲它應該這樣工作。

用戶可以像在Internet Explorer中那樣放大和縮小,但不能更改字體大小。

從技術上講,你可以得到你想要顯示的html文件,解析它,如果fontsize是內聯定義的,你可以改變它,然後在WebBrowser控件中顯示新的html文件,但是我不認爲這是一個非常好的主意。

+0

謝謝,你可以告訴我,如果mshtml.dll可以在wp7中使用嗎? – 2012-07-06 07:33:22

+0

我會說不,但不是100%確定。 – 2012-07-06 07:34:44

+0

您可能無法直接更改字體大小,但可以通過WebBrowser.InvokeScript更改某個元素(即主體)的字體大小。看到我的帖子下面。 – brendan 2013-12-07 22:22:36

2

是有一個解決方案,你可以解僱的HTML頁面內腳本中使用Web瀏覽器的「InvokeScript」放大字體,這裏是一個示例:

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

TO DO:裏面的腳本HTML:

<script type="text/javascript"> 
     function ChangeFontSize(size) { 
      ..... 
      .... 
      return true; 
     } 
<script/> 
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