根据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)和上面链接的示例项目之间没有任何显着差异。
答案 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)
的内容来解决此问题。