如何在WP7的C#代码中获取资源字符串?

4

我按照这个教程本地化我的应用程序:http://msdn.microsoft.com/en-us/library/ff637520%28v=vs.92%29.aspx#Y1210

因此,我创建了这个类:

namespace Foo
{
    public class LocalizedStrings
    {
        public LocalizedStrings()
        {
        }

        private static Foo.AppResources localizedresources = new Foo.AppResources();

        public Foo.AppResources Localizedresources { get { return localizedresources; } }

    }
}

当我在XAML文件中使用{Binding Path=Localizedresources.String1, Source={StaticResource LocalizedStrings}}时,它非常好用,但是如何在源代码中访问String1,例如设置textBlock.Text
2个回答

15
在C#中,您只需执行以下操作:
textBlock.Text = AppResources.MyLocalizedString;

或者在XAML中:

<TextBlock Text="{Binding Path=LocalizedResources.MyLocalizedString, Source={StaticResource LocalizedStrings}}" >

在C#代码中,是否有其他绑定LocalizedResources的方法? - Xander
@Xander,你对上面的内容有具体的问题吗?还是只是好奇呢? - Matt Lacey
我在WP8中分享了我的代码,在我的子项目中,我无法使用上面的代码片段,因为那会返回父级的值。我想从子级的AppResources.resx文件中获取值。所以,如果我使用Binding b = new Binding(); 来绑定这个值,我能实现吗?我在这里发了一个问题http://stackoverflow.com/questions/21258300/in-shared-classes-how-to-use-local-resources - Xander

0

当你在代码后台(即C#)时,使用以下方法访问APPResources以显示本地化字符串:

busStopAppBtn.Content = AppResources.aBusStopAppBtn;

显然,对象的名称(例如应用程序按钮(例如BusStopAppBtn))可以是任何选择的对象,而访问修饰符是AppResources,后跟.resx文件中对象的名称(即aBusStopAppBtn)。

希望这可以帮助到您。

我使用了文章“如何构建适用于Windows Phone 8的本地化应用程序”,该文章可以在此处找到: http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接