1

我已按照本教程的说明逐步本地化 Windows Phone 应用程序

但由于某种原因 Text="{Binding Path=AppResources.Title, Source={StaticResource LocalizedStrings}}" 不起作用。它不会给出任何错误或任何东西。

它只是一个普通的空盒子。

知道可能出了什么问题吗?

4

1 回答 1

7

我通过以下方式本地化了我的应用程序

  1. 有一个名为 LocalizedStrings 的类,并创建了它的一个实例

    public class LocalizedStrings
    {
       public LocalizedStrings()
       {
       }
       private static AppName.AppResources localizedResources = new AppName.AppResources();
    
       public AppName.AppResources LocalizedResources
       {
        get
        {
            return localizedResources;
        }
       }            
    
    }
    
  2. 使用本地化字符串添加必要的 Resx 文件(例如 AppResources.de.resx )

  3. Application.Resources在标记内的 App.xaml 中添加以下内容。

    <local:LocalizedStrings xmlns:local="clr-namespace:AppName" x:Key="LocalizedStrings"/>

最后在 csproj 文件中添加支持的区域性。

然后像这样绑定xaml元素

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

我们最常忘记的一件重要事情是将访问修饰符更改为 Pulic。打开你的 AppResources.resx,你可以看到一个叫做 Access Modifier 的字段。将值从内部更改为公共。

于 2013-02-06T11:25:28.723 回答