2011-11-26 171 views
0

我想在Windows Phone 7的Silverlight应用程序中使用字体作为文本框。字体不包含在默认字体列表中。Silverlight for Windows Phone 7中的字体

这里是用于施加的字体的文本框XAML代码:

<TextBlock Grid.Row="1" Height="95" HorizontalAlignment="Left" Margin="527,78,0,0" Name="textBox" Text="0" VerticalAlignment="Top" FontSize="72" Width="70" FontFamily="/MyAppNamespace;component/Fonts/Fonts.zip#Papyrus"/> 

字体被包括在文件夹字体英寸 此页面的XAML视图窗口显示我想要的确切字体样式。但是当我尝试将应用程序部署到我的Samsung Omnia 7时,所使用的字体仍然是Segoe WP(文本框的默认字体)。

那么这里有什么问题?

回答

1

您需要在应用程序中包含字体。最简单的方法是进入Blend,选择你的TextBlock元素,进入文本属性部分,然后点击嵌入复选框。请注意,如果您使用单独的构建服务器,则需要您在该系统上安装Blend SDK。 (对于字体嵌入,Blend使用自定义构建目标,我相信这是SDK将此构建目标添加到目标系统)。

您看到Segoe WP的原因是因为找不到指定的字体,所以运行时正在回退到它所知道的字体。您尚未指定任何备用字体,因此它使用了Segoe WP的默认设置。

+0

正如我所说的,我将字体包含在我的项目的文件夹中,并且Visual Studio中的XAML视图窗口也显示了文本框中所需的字体。但是,当我将应用程序部署到我的手机时,出现的字体只是默认字体。 –

+0

还有一件事是我创建了字体文件夹并手动添加了字体,但我不是问题,因为XAML视图可以用我添加的字体显示文本。 –

+0

什么是TTF文件的构建操作?它如何包含在csproj文件中? (向我展示XML)将文件包含在字体文件夹中通常是不够的。 –