WP8 C# - 如何从.resx文件中获取正确的本地化字符串?

时间:2014-07-14 09:42:46

标签: c# xaml windows-phone-8 visual-studio-2013

我正在本地化我构建的应用,我在这里遇到了问题。

我在AppResources.resx文件中添加了我在xaml中使用的所有字符串,并且我已经用.resx文件中的正确字符串绑定替换了xaml中的所有硬编码字符串,如下所示:< / p>

Text="{Binding Path=LocalizedResources.StringName, Source={StaticResource LocalizedStrings}}"

问题是我需要本地化几个App Bar按钮和一些Messabe Box,所以我需要一种方法来通过C#获取这些字符串。

我阅读了几个教程,我想到了这个,就本地化的App Bar按钮而言:

ApplicationBar = new ApplicationBar();
ResourceManager rm = new ResourceManager("AppResources", typeof(CreditiInfo).Assembly);
ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/back.png", UriKind.Relative));
appBarButton.Text = rm.GetString("BackAppBar");
ApplicationBar.Buttons.Add(appBarButton);

当我尝试分配给AppBar按钮时,我得到一个System.Resources.MissingManifestResourceException文本我从GetString方法中检索的字符串。 我错过了什么?

另外,我读到当您在WMAppManifest.xml文件中检查新语言时,Visual Studio应自动复制实际的AppResources.resx文件,并使用选中的新当前文化重命名该副本,但是当我尝试添加新语言不起作用。 我是否必须自己复制和重命名文件?在使用该语言设置的手机上运行时,它会识别新文件吗?

感谢您的帮助!

塞尔吉奥

1 个答案:

答案 0 :(得分:1)

只需使用自动生成的AppResources

即可

string resourceValue = AppResources.NameOfYourLocalizedResource;