私はWPFフォームでDatePickerを使用していますが、ユーザーが英国の形式、つまり31/12/1980で日付を入力すると、それをアメリカ人に変換するために、1980年12月31日を読む。WPF DatePickerを英国の代わりにアメリカンスタイルの日付に設定する
これは私のSQL挿入の範囲外の例外を与えています。
誰もがこれを前に見つけたことがありますか?もしそうなら、どのように修正しましたか?
私はWPFフォームでDatePickerを使用していますが、ユーザーが英国の形式、つまり31/12/1980で日付を入力すると、それをアメリカ人に変換するために、1980年12月31日を読む。WPF DatePickerを英国の代わりにアメリカンスタイルの日付に設定する
これは私のSQL挿入の範囲外の例外を与えています。
誰もがこれを前に見つけたことがありますか?もしそうなら、どのように修正しましたか?
UIに正しいロケールが設定されていることを確認する必要があります。
私はWPFについてはわかりませんが、SilverlightにはXAMLがWindowsのロケールを尊重していないというバグがあります。あなたは、ビューのコンストラクタに次のコードを含める必要があります:
// Get "StringFormat=c" to honour culture settings.
// From http://timheuer.com/blog/archive/2010/08/11/stringformat-and-currentculture-in-silverlight.aspx
this.Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
今お使いのコンピュータがen-GB
に設定されていますが、アプリケーションがのCurrentCulture
を設定することにより、あなたはどちらの言語を強制する必要があります、これを必要とされていない場合アプリケーションスレッドまたは "en-GB"を渡します。この(暗示)アプローチを実装する
方法があります。設定ファイル
サンプルコードをこれらの保存された設定を使用します - も
こんにちはクリスを考えることができ、管理者の制御モジュールを与える
。あなたの答えは私を正しい軌道に乗せた。ありがとうございました。しかし、言語はWindowセクションで明示的に定義する必要があることを発見しました:** Language = "en-GB" **、何らかの理由でそれがAmericanにデフォルトされます。奇妙ですが、それはトリックを行っています。私を正しい道につけてくれてありがとう。 Rich –
Window.Languageのように見えますが、ドキュメントによればdefault = "en-US"です。 http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k(SYSTEM.WINDOWS.FRAMEWORKELEMENT.LANGUAGE)%3bk(VS.XAMLEDITOR)%3bk(TargetFrameworkMoniker-%22.NETFRAMEWORK) %2cVERSION%3dV4.0%22)&rd = true –
@JamieClayton - そうです。 – ChrisF