C# 如何使用TrueType自定义嵌入字体在WebBrowser控件中显示内容?

C# 如何使用TrueType自定义嵌入字体在WebBrowser控件中显示内容?,c#,windows-phone-7,windows-phone-8,webbrowser-control,C#,Windows Phone 7,Windows Phone 8,Webbrowser Control,我想显示大量的文本,这在TextBlock中是不可能的,因为高度限制 这就留下了两种选择: 网络浏览器控制 ScrollableTextBlock控件确实不错,唯一的限制是文本不能居中对齐。但这是我的要求 然而,WebBrowser控件是一种折衷方案。但还有很多其他问题。 -文本正在滚动,即使只有一行。 -高度是个问题。 -最大的问题是使用自定义字体,例如使用亚洲从右到左的字体 问题 有人能告诉我如何使用带有WebBrowser控件的自定义字体来显示文本吗 谢谢 示例(我是如何做到的)

我想显示大量的文本,这在TextBlock中是不可能的,因为高度限制

这就留下了两种选择:

  • 网络浏览器控制
ScrollableTextBlock控件确实不错,唯一的限制是文本不能居中对齐。但这是我的要求

然而,WebBrowser控件是一种折衷方案。但还有很多其他问题。 -文本正在滚动,即使只有一行。 -高度是个问题。 -最大的问题是使用自定义字体,例如使用亚洲从右到左的字体

问题

  • 有人能告诉我如何使用带有WebBrowser控件的自定义字体来显示文本吗
谢谢

示例(我是如何做到的):

string str=@”
@字体{
字体系列:我的字体;
url('font/chFont.ttf')
字体大小:正常;
字体风格:普通;
}

“+strData+@”

" WebBrowser.NavigateToString(str);
如果您有SDK 8,我建议您尝试将此代码解析到Windows Phone HTML5应用程序中,以了解它是否有效。-这是必要的。然后尝试将路径url('font/chFont.ttf')替换为非相对的

我尝试在传递给NavigateToString()函数的字符串中使用CSS(@font-face)。它不起作用。原因可能是我不知道如何使用,或者它在Wp7/c#WebBrowser控件中不起作用。
   string str =  @"<html>
        <head>
            <style>
                @font-face {
                    font-family:my_font;

                    url('fonts/chFont.ttf') 
                    font-weight: normal;

                    font-style: normal;

                }

            </style>

            <meta charset=""utf-8"">
        </head>
        <body bgcolor='" + backgroungColor + @"'>
            <center><font style='font-family:my_font;' size='" + fontSize + "' face='" + fontFamily + @"' color='" + foregroundColor + @"'><p style='line-height:200%;'>" + strData + @"</p></font></center>
        </body>
    </html>"


   WebBrowser.NavigateToString(str);