2016-12-14 10 views
2

私は、単一のビューおよび/またはそのビューモデルのカルチャを設定する方法を見つけるのにかなり時間をかけています。プログラム全体ではなく、単一のビューのみのカルチャを設定する

は、これまでに私が使用している:私は適度に良好な成功を与えている

System.Globalization.CultureInfo NewCulture = new System.Globalization.CultureInfo("en-US"); 
    Thread.CurrentThread.CurrentCulture = NewCulture; 

しかし、それはスレッド全体の文化を設定します(私はこれを持っていないかもしれません)。

スレッドの培養に触れてはいけません。

QUESTION

あなたは私をEN-USにビュー/のviewmodelの文化を設定するための他の方法を知っていますか?

スレッドのカルチャを設定してはならず、他のビューまたはビューモデルのカルチャを設定してはならず、選択したビューおよびビューモデルのみを設定する必要があります。

答えて

1

文化を変えることによって達成したいことに依存します。 FrameworkElementクラスには、要素の言語を変更するために設定できるLanguageプロパティがあります。あなたのビューモデルのプロパティで言語を指定し、これに特異的に結合することができ

<Calendar Language="en-US" /> 

<TextBlock Text="{Binding DecimalValue}" Language="sv-SE" /> 

<TextBlock Text="{Binding Val}" Language="{Binding Language}" /> 
例えばカレンダーの言語/文化と番号の書式を変更するために使用することができます
+0

私はそれが解決策であり、私の非常に具体的な問題の解決策ではないことを知っているので、これを投票していますが、それは有効な解決策です。 –

+0

あなたの具体的な問題は何ですか? – mm8

+0

en-USのSQL Serverがあり、私のローカルカルチャはen-ZAです。winforms reportviewerはローカルカルチャをとり、カルチャーを設定しようとすると読み込み専用です...あなたはreportviwer言語を設定できますが、違いはありませんでしたen-ZA .... これまでに働いたのはThread.CurrentThread.CurrentCulture = NewCultureでした。 –

関連する問題