0

AppResource.resxメインアプリフォルダーで定義しました。OVERVIEWその中で、文字列を保持する文字列名を定義しました。

次に、次のように App.xaml に追加しました。

    <!--Application Resources-->
    <Application.Resources>
        <local:LocalizedStrings xmlns:local="clr-namespace:AwesomeApp.WP" x:Key="LocalizedStrings"/>
    </Application.Resources>

そしてそれをテキストボックスに追加しました:

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

しかし、それTextBlockは空です...壊れたリンクがあると思いますか? アプリのローカライズに取り組んでいます。

LocalizedStrings は次のようになります。

    public class LocalizedStrings
    {
        public LocalizedStrings()
        {
        }

        private static AppResources localizedResources = new AppResources();

        public AppResources AppResources
        {
            get { return localizedResources; }
        }
    }
4

1 に答える 1

0

あなたは間違ったパスを持っています。XAML で "LocalizedResources.OVERVIEW" を "AppResources.OVERVIEW" に変更するか、.CS で AppResources プロパティの名前を LocalizedResources に変更します。

ところで、Blend でそれがサポートされていないことにとてもがっかりしました。私は通常、ローカライズされた文字列をビュー モデルの読み取り専用プロパティとして公開し、データ バインディングを使用してそれらにアクセスします。私にとっては、長い「{Binding Path=LocalizedResources.OVERVIEW, Source={StaticResource LocalizedStrings}}」式よりもうまく機能しました。

于 2013-08-10T23:29:18.613 に答える