wpf的webbrowser在使用NavigateToString(string text);方法时如果字符串含有中文字符,并在html的头文件中没有声明Document的编码方式为UTF-8的话,由于默认的编码方式的原因,导致中文显示为乱码。如需转码为可采用下面方法:
/// <summary>
/// webbrowser解决中文乱码问题 good
/// </summary>
/// <param name="HTML"></param>
/// <returns></returns>
private string ConvertExtendedASCII(string HTML)
{
string retVal = "";
char[] s = HTML.ToCharArray(); foreach (char c in s)
{
if (Convert.ToInt32(c) > )
retVal += "&#" + Convert.ToInt32(c) + ";";
else
retVal += c;
} return retVal;
}
wpf的webbrowser在页面显示的时候,由于在wpf中引用WebBrowser是一个有独立句柄的窗口,wpf的UI就无法对齐进行覆盖,即webbrowser的图层始终是最上的。如果想要遮盖这个控件,可以将其隐藏,设置为Hidden.这样导致其不可见。