Xamarin.Forms SystemFontOfSize缺少一些重载

时间:2014-11-07 10:38:40

标签: c# xamarin xamarin.forms

根据Xamarin.Forms documentation,我应该能够使用Font.SystemFontOfSize([size], [FontAttributes])方法设置字体属性。但是,当我创建一个新的Blank App(Xamarin.Forms Portable)项目并将以下代码添加到便携式项目中的App.cs时,出于某种原因,我无法访问{{1}的所有重载}并且无法访问Font.SystemFontOfSize(...)枚举。

Xamarin.Forms.FontAttributes

SystemFontOfSize似乎只有两个重载,编译器给了我:

  

名称' FontAttributes'在当前的背景下不存在[...]

项目似乎已经有了所有默认引用(.NET,Xamarin.Forms.Core,Xamarin.Forms.Xaml),我没有触及它们。

但是,如果我使用完全相同的设置下载a sample project(使用相同的引用从可移植项目中调用// FontExample/App.cs using System; using Xamarin.Forms; namespace FontExample { public class App { public static Page GetMainPage() { return new ContentPage { Content = new Label { Text = "Hello, Forms !", Font = Font.SystemFontOfSize(14, FontAttributes.Italic) }, }; } } } ),项目编译良好,我似乎可以访问所有Font.SystemFontOfSize重载以及Font.SystemFontOfSize枚举。

为什么我自己创建新项目时无法访问所有Xamarin.Forms API功能?我发现新创建的空白应用程序(Xamarin.Forms Portable)和上面链接的示例项目之间没有任何显着差异。

1 个答案:

答案 0 :(得分:1)

听起来你的构建在某个地方变得混乱。

尝试通过 NuGet 删除 Xamarin.Forms 引用;关闭项目并重新开放;通过 NuGet 重新添加 Xamarin.Forms 。目前的最新版本应该与v1.2.3x类似。

如果上述方法不起作用,请尝试执行干净的构建(在Visual Studio中,构建 - >清理解决方案')然后尝试重建。

作为最后的手段,请进入每个应用程序文件夹并删除' obj'和' bin'目录和重建。

以上其中一项应解决您的问题。

注意 - 然而,在以前版本的 Xamarin.Forms 中使用Font.SystemFontOfSize({fontsize}, {font-attributes-enum})会导致此重载 崩溃应用程序异常

除非他们现在已经纠正了此问题,否则您需要使用类似Font.SystemFontOfSize(30).WithAttributes(FontAttributes.Bold)的内容来解决此问题。