"en-US"以外の文化と互換性のないユーザーコントロールを作成しました。また、このユーザーコントロールを "en-US"でないカルチャを持つアプリケーションに埋め込むことは避けられません。アプリケーションをこのユーザーコントロールのカルチャを変更しないように強制することは可能ですか?
ユーザーコントロールの内部にソリューションを配置することをお勧めします。 がLocalizing a WinForms Application with Embedded WPF User Controls が、私はWpfLocalization.LocalizationScope.SetCulture
この機能は本当に存在するんを使用することはできません。
私はこのスレッドを読んだことがありますか?個々のWPFユーザーコントロールのcultureを設定します
も偽に設定することができますローカライズタグがありますが、それは、.csprojファイル内のリソース定義のためだけである: http://msdn.microsoft.com/en-us/library/ms788718.aspx
だから、についてどんな考えを持っている誰もがそこにありますこの問題 ?
より明確化:
たちは文化Xでアプリケーションと「EN-US」文化と互換性のあるユーザーコントロールを持っていると仮定します。このユーザーコントロールは、DateTimeのタイプである依存関係プロパティを持っており、それがこの方法によって、その値を取得している:
<my:uc1 x:Name="UserControl1" Date="4234/12/22" />
アプリケーション文化は「EN-US」である場合には
ユーザーコントロールを取得します「4234/12/22」ですが、アプリケーションカルチャが何か他のものである場合は、「4234/12/22」を自動的にアプリケーション独自のカレンダーに変換し、「0744/04/08」をユーザーコントロールに渡し、ユーザーコントロールの背後にあるすべてのロジックを破棄します!完全に災難です。
私は「EN-US」に独占的にユーザーコントロールの文化を設定することで、この変換を防ぎたいです。
私は十分な状況を明らかにしたことを願っています。
文化が「0744/04/08」に変換する(「en-US」形式ではなく「M/d/yyyy」である)驚くべき日付の外にさらに驚くべきこと)? –
@ Martin Liversage:単なる例です。その文化を秘密にしておきましょう: - & –
私は秘密を明らかにするが、巨大な年を与えたら、私はヘブライ語のカレンダーを言うだろう...もっと真剣に、このスレッドは本当に興味深い二重文化(フランス語/アラビア語またはグレゴリオ/エチオピアのカレンダー)の奇妙さ。 – odalet