1

私は自分のプロジェクトで PL を使用しようとしていますが、現在はローカリゼーションに固執しています。Resources と LocalizedStrings を PL プロジェクトに移動しました。私の LocalizedStrings は次のようになります。

namespace Activity.Localization
{
  public class LocalizedStrings : INotifyPropertyChanged
  {
    public LocalizedStrings()
    {
    }

    private static Resources.AppResources localizedResources = new Resources.AppResources();

    public Resources.AppResources LocalizedResources { get { return localizedResources; } }

    public void ResetResources()
    {
        OnPropertyChanged("LocalizedResources");
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string name)
    {
        var handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }
    }
  }
}

リソースは Resources フォルダーにあります (Windows phone プロジェクトから自動生成されます)。

今私のビューには、ボタン用のこれがあります (Windows Phone プロジェクト、MainPage.xaml):

<controls:MenuButton x:Name="btnStartGame" 
                             Text="{Binding Path=LocalizedResources.btnStartGame, Source={StaticResource localization:LocalizedStrings}}" 
                             Tap="btnStartGame_Click"
                             Height="80" Width="400" 
                             FontSize="30" Margin="12"/>

コンパイルしてビルドしますが、アプリの起動時に例外が発生します:

Cannot find a Resource with the Name/Key localization:LocalizedStrings 

だから、移植可能なライブラリにローカライズするためにいくつかの変更を加える必要があると思いますが、どれですか? それを機能させるにはどうすれば変更できますか?ありがとう

4

1 に答える 1

2

App.xaml に StaticResource を追加する必要があります。

http://www.geekchamp.com/articles/localizing-a-windows-phone-app-step-by-step

于 2013-04-12T08:13:06.567 に答える