xamarin - 在 Xamarin 中使用字符串资源文件

标签 xamarin xamarin.forms resources resx

我想为我的 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 中的资源中的字符串直接绑定(bind)到控件。

但我认为,我的方式完全错误......并且没有独立于平台的方式来使用字符串资源......?

最佳答案

您需要修改公共(public)资源的访问级别

Access Modifier

然后你就可以使用

var s1 = Resource1.ResourceManager.GetString("String1");

任何项目的任何地方

关于xamarin - 在 Xamarin 中使用字符串资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47436778/

相关文章:

android - 如何防止 SupportV4 (Fragment)Tabhost 在 TabChange 上创建自己的 Fragment?

xaml - 是否可以在 XAML (Xamarin.Forms) 中混合 OnIdiom 和 OnPlatform?

c# - Xamarin 表单导航不释放内存

android - 您必须为 TextView android 错误提供资源 ID

java - 如何在多个 Web 应用程序之间共享公共(public)资源?

c# - Json.Net 反序列化以索引为名称的 JSON 对象

c# - 在 Xamarin Forms 的导航页面中添加搜索栏

c# - 如何摆脱 MasterDetailPage 空白空间 Xamarin Forms

resources - 经纬度主要城市列表

configuration - 如何将项目设置为不在 Xamarin 中的任何事件配置中进行编译?