我想为我的Xamarin应用程序的所有字符串使用资源文件 - 因为我想要所有3个平台(iOS,Android,UWP)使用相同的字符串,我在Xamarin-Forms项目中创建了一个新的resx文件。但Visual Studio未按预期处理该文件...不会构建资源的匹配.cs文件。但这有必要吗?
我尝试了几种解决方案:
var resourceLoader = new ResourceLoader();
label1.Text = resourceLoader.GetString("String1");
以及
ResourceManager rm =
new ResourceManager("MyApp.Resources1", typeof(MainPage).GetTypeInfo().Assembly);
label1.Text = rm.GetString("String1");
但是在运行时(UWP)我得到了错误:
Could not find any resources appropriate for the specified culture or the neutral culture.
这应该只是第一步 - 后来我希望将XAML中的资源字符串直接绑定到控件。
但我认为,我的方式完全错误......并且没有平台独立的方式来使用字符串资源......?
答案 0 :(得分:1)
答案 1 :(得分:0)
EvZ指出了正确的答案 - Localizing Xamarin.Forms Apps with RESX Resource Files
我测试了Android示例项目,它在Xamarin Live Player 1.2.80上崩溃了。但是,代码在物理Android设备上运行良好。
要添加shared-RESX文件,项目必须是PCL或.NET Standard。 SAP项目仅添加RESW文件。