Динамически изменять размер шрифта в webbrowser в wp7

106
11

Может ли кто-нибудь помочь мне, как я могу программно увеличить или уменьшить размер шрифта управления веб-браузером в Windows Phone 7 c sharp. Мне нужно это, чтобы реализовать функцию масштабирования в управлении веб-браузером. вот мой код

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

webBrowser1.FontSize = fs+10;
}

Но шрифт не изменяется вообще.

Любая помощь будет оценена по достоинству. Большое спасибо, Муназа

спросил(а) 2021-01-19T13:34:44+03:00 2 месяца, 3 недели назад
1
Решение
75

Да, есть решение, вы можете запустить сценарий внутри html-страницы, чтобы увеличить шрифт, используя webBrowser "InvokeScript", вот пример:

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

TO DO: скрипт внутри html:

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

ответил(а) 2021-01-19T13:34:44+03:00 2 месяца, 3 недели назад
44

Вы должны использовать 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);
}

См. Описание свойства изменения размера текста и этого сообщения в MSDN.

ответил(а) 2021-01-19T13:34:44+03:00 2 месяца, 3 недели назад
44

Я не думаю, что это должно работать так.

Пользователь может увеличивать и уменьшать масштаб, как в Internet Explorer, но вы не можете изменить размер шрифта.

Технически вы можете получить html файл, который вы хотите отобразить, проанализировать его, и если значение fontsize определено в строке, вы можете его изменить, а затем отобразить новый html файл в элементе управления WebBrowser, но я не думаю, что очень хорошая идея.

ответил(а) 2021-01-19T13:34:44+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема