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