C# 表单SystemFontOfSize缺少一些重载
根据Xamarin.Forms,我应该能够使用C# 表单SystemFontOfSize缺少一些重载,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,根据Xamarin.Forms,我应该能够使用font.SystemFontOfSize([size],[FontAttributes])方法设置字体属性。但是,当我创建一个新的空白App(Xamarin.Forms Portable)项目并将以下代码添加到Portable项目中的App.cs时,由于某种原因,我无法访问Font.SystemFontOfSize(…)的所有重载,也无法访问Xamarin.Forms.fonttributesenum //FontExample/App.cs 使用
font.SystemFontOfSize([size],[FontAttributes])
方法设置字体属性。但是,当我创建一个新的空白App(Xamarin.Forms Portable)项目并将以下代码添加到Portable项目中的App.cs时,由于某种原因,我无法访问Font.SystemFontOfSize(…)
的所有重载,也无法访问Xamarin.Forms.fonttributes
enum
//FontExample/App.cs
使用制度;
使用Xamarin.Forms;
名称空间字体示例{
公共类应用程序{
公共静态页面GetMainPage(){
返回新内容页{
内容=新标签{
Text=“您好,表单!”,
Font=Font.SystemFontOfSize(14,FontAttributes.Italic)
},
};
}
}
}
SystemFontOfSize似乎只有两个重载,编译器给了我:
当前上下文中不存在名称“FontAttributes”[…]
该项目似乎有所有的默认引用(.NET,Xamarin.Forms.Core,Xamarin.Forms.Xaml),我没有碰它们
但是,如果我使用完全相同的设置下载(使用相同的引用从portable项目中调用Font.SystemFontOfSize
),项目编译良好,我似乎可以访问所有Font.SystemFontOfSize
重载以及Xamarin.Forms.fonttributes
enum
为什么我自己在创建新项目时不能访问所有Xamarin.Forms API特性?我找不到新创建的空白应用程序(Xamarin.Forms Portable)和上面链接的示例项目之间有什么显著的区别。听起来您的构建好像在什么地方被搞糊涂了 尝试通过NuGet删除Xamarin.Forms引用;关闭项目并重新打开;通过NuGet重新添加Xamarin.Forms。当前的最新版本应该类似于v1.2.3x 如果上述方法不起作用,请尝试执行干净的生成(在VisualStudio中,build->clean Solution),然后尝试重新生成 最后,进入每个应用程序文件夹,删除“obj”和“bin”目录并重建 以上其中一项可以解决您的问题 请注意-但是,在早期版本的Xamarin.Forms中使用
Font.SystemFontOfSize({fontsize},{Font attributes enum})
时存在问题,这将导致此重载使异常的应用程序崩溃
除非他们现在已经纠正了这一点,否则您需要使用类似于
Font.SystemFontOfSize(30).WithAttributes(fonttributes.Bold)
的方法来解决这个问题。谢谢Pete!卸载并重新安装Xamarin.Forms为我解决了这个问题!他们应该在Xamarin.Forms旁边贴上大号的“BETA”标签。这东西似乎还远没有准备好投入生产使用。