(この例外は、他の多くのスレッドで報告されており、はい、私はは私の問題の解決策を見つけようと、周りGoogleで検索している!!免責事項)を「文字列が有効な日時として認識されませんでした」私は、日付と時刻の変数にバインドWPF Toolkitの日付ピッカー制御で、WPFアプリケーションを持っている:私は、日付を入力するたびにDatePickerがDateTimeにバインドされています。</p> <p>:
<UserControl x:Class="MikesApp.View.UserControls.FXRatesUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:toolkit="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit">
<toolkit:DatePicker x:Name="fxDate" VerticalAlignment="Center"
Text="{Binding Selected_FXRate_Date, Mode=TwoWay}"
Style="{DynamicResource DatePickerStyle1}" >
</toolkit:DatePicker>
、など2012年4月20日、日付ピッカーコントロールは、それがだと考えているようです実際には英国の日付形式(dd/MM/yyyy)で、W PFtoolkitのソースコードで ""という文字列が有効なDateTimeとして認識されませんでした。
これは、WPFがこの日付がいつ変更されるかを知る必要がある、アプリケーションの他の部分への変更通知を実行する可能性を突然停止します。
Screenshot of VS2010 exception
私はバッフル付きです。
私のラップトップは、フォームMM/DD/YYYYで日付を表示するように設定されている、と私は、特に最初にこのコードを使用して、この米国の日付形式を使用するように私のアプリを言ってみた:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "MMM-dd-yyyy";
Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongDatePattern = "MMM-dd-yyyy hh:mm:ss";
その後、絶望のうち、このコードを使用して:私はDD/MMM/YYYYを使用して解析することはできません日付を選択するたび
CultureInfo ci = new CultureInfo("en-US");
ci.DateTimeFormat.SetAllDateTimePatterns(new string[] { "MM/dd/yyyy" }, 'd');
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
しかし、関係なく、私がしようとするものの、日付ピッカーは、例外がスローされます。
私は例外をスローするコードの行(WPF ToolkitのSDKでDatePicker.csから取られた)を見てみると:
newSelectedDate = DateTime.Parse(text, DateTimeHelper.GetDateFormat(DateTimeHelper.GetCulture(this)));
..I'veはその「DateTimeHelper.GetCulture(この発見) "は正しく" en-US "を返しますが、GetDateFormat関数が誤った日付形式を取得しています。何とかMMM/dd/yyyyではなくdd/MMM/yyyyを返しています。
私は本当に困惑しています。
私も私のアプリに(WPFtoolkitのソースコードに次のパスから取られた)てgetDateFormat機能をcut'n'pasting試みたが、それは「間違った日付形式」問題を再現するために取得しようとしました。 ..しかし、それは私のコードでは、正常に実行され、MMM/dd/yyyyの日付を正しく解析するたびに。
WPFtoolkit \カレンダーWPFtoolkitコードは、それを使用して、私のWPFアプリケーションのコードに異なる文化を持っているでしょう、なぜ\マイクロソフト\ Windowsの\は\ DateTimeHelper.cs
を制御しますか?
正しいCultureを使用するにはどうすればWPFtoolkitを入手できますか?
私のラップトップの地域設定は「英語(米国)」に設定されています。その前に必ず確認してください。 –