2017-09-01 4 views
0

私は私のアプリでRESXファイルとGUIのテキストのローカライズを使用します。私はTextBlockのにGUIのテキストを取得するために、次のように書き例えばGridViewColumnのDisplayMemberBindingをresxファイルにローカライズするにはどうすればよいですか?

を:

<TextBlock Text="{x:Static GuiText.LoginView.LoginText}" FontSize="24"\> 

しかし、どのように私はGridViewColumnにローカライズされたテキストを取得することができます?

次のようにローカライズするにはどうすればよいですか?

<GridViewColumn Header="Value" DisplayMemberBinding="{Binding Path=Value}" /> 

ヘッダー私は、少なくとも次のようにローカライズすることができます。

<GridViewColumn Header="{x:Static GuiText.LoginView.HeaderValueText}" DisplayMemberBinding="{Binding Path=Value}" /> 

しかし、どのように私はDisplayMemberBindingの翻訳をローカライズしますか?

+0

、あなたは文化固有の値を持っていますか?それらはどんなタイプですか?文字列とその値がいくつかのresxのキーである場合:おそらく、ValueConverterを使うことができます。しかし、それは私には少し不明なままです。 – Fildor

+0

はい、値をresxファイルのキーにします。 resxファイルには2つの文字列があります。最初の列は値を検索したい場所で、2列目からはその値を置き換える文字列を取得したいと考えています。 – Eerik

+0

この回答を見てください:https://stackoverflow.com/a/23949941/982149 – Fildor

答えて

1

しかし、DisplayMemberBindingの翻訳をローカライズするにはどうすればよいですか?

DisplayMemberBindingのバインディングパスはプロパティ名を指し、これらはローカライズされていません。

すでに翻訳された値を返す必要がありますに結合する性質、例えば:

<GridViewColumn Header="{x:Static GuiText.LoginView.HeaderValueText}" DisplayMemberBinding="{Binding Path=TranslatedValue}" /> 
あなたが意味
public string TranslatedValue 
{ 
    get 
    { 
     return Resource1.String1; 
    } 
} 
関連する問題