C# Windows Phone 8中的自定义字体使用

C# Windows Phone 8中的自定义字体使用,c#,fonts,windows-phone-8,C#,Fonts,Windows Phone 8,我的WindowsPhone8模拟器有一个奇怪的问题! 我有一个小的测试应用程序,我在主页上更改“页面名称”文本框,这样它就可以使用自定义字体显示。 现在在visual studio designer中,我看到了该字体,在运行应用程序时,我也在模拟器中看到了它,所以一切都很好 但是,当我将主页移动到名为View的文件夹中并更改WMAppManifest.xml以反映此移动时,导航页面现在设置为View/MainPage.xaml。 我仍然在我的设计器中看到这种自定义字体,但在模拟器中不再如此 我

我的WindowsPhone8模拟器有一个奇怪的问题! 我有一个小的测试应用程序,我在主页上更改“页面名称”文本框,这样它就可以使用自定义字体显示。 现在在visual studio designer中,我看到了该字体,在运行应用程序时,我也在模拟器中看到了它,所以一切都很好

但是,当我将主页移动到名为View的文件夹中并更改WMAppManifest.xml以反映此移动时,导航页面现在设置为View/MainPage.xaml。 我仍然在我的设计器中看到这种自定义字体,但在模拟器中不再如此

我还没有wp8设备。。。那么,如果在您尝试将失败项目部署到手机时,这个问题也是一样的,那么有人能为我验证一下吗

有人知道为什么会这样吗?在仿真器中看不到正确的设计非常恼人


好的,我自己找到了解决方案。。。这是因为styles.xaml中引用了字体

这应该是一条完整的路径! 因此,与其设置:

<Setter Property="FontFamily" Value="Fonts/ClementePDae-Light.ttf#ClementePDae" />

设置此选项:

<Setter Property="FontFamily" Value="/PhoneApp1;component/Fonts/ClementePDae-Light.ttf#ClementePDae" />


比一切都好

我希望您已经找到了解决方案。请退房

这在Windows Phone 8(Lumia 920)上对我有效
在.ttf之后标记字体名是非常重要的

如果您在PC上预览ttf文件并写入完全相同的字体名称,则可以找到字体名称。

首先,您应该将外部ttf保存到项目中(如果要使用外部字体)

然后,您可以使用:

FontFamily="Helvetica.ttf#Helvetica"

FontFamily="Cookies.ttf#Cookies"    
当.ttf字体文件位于根文件夹中时,在设计和运行时都可以正常工作

FontFamily="/FontsTestApp;component/Cookies.ttf#Cookies"    
FontFamily="../Fonts/Cookies.ttf#Cookies";
FontFamily="../Fonts/Cookies.ttf#Cookies";  
同上

FontFamily="/Font/Cookies.ttf#Cookies
当.ttf字体文件位于子文件夹“font”中时。在设计和运行时工作良好

FontFamily="/FontsTestApp;component/Cookies.ttf#Cookies"    
FontFamily="../Fonts/Cookies.ttf#Cookies";
FontFamily="../Fonts/Cookies.ttf#Cookies";  
当使用该字体的XAML文件位于另一个子文件夹中时。在设计和运行时工作良好

FontFamily="/FontsTestApp;component/Cookies.ttf#Cookies"    
FontFamily="../Fonts/Cookies.ttf#Cookies";
FontFamily="../Fonts/Cookies.ttf#Cookies";  

如果XAML文件位于根文件夹中,则字体仅在运行时应用,而不是在设计时应用。

我尝试过此方法,但仍然面临相同的问题,即我可以在设计器中看到自定义字体,但在模拟器中看不到自定义字体。这是我的代码字体名称必须精确!也许有什么问题?