これはうまくいきます:
<my:DatePicker IsTodayHighlighted="True" Width="200">
</my:DatePicker>
しかし、私は次のような日付をフォーマットしたい:
<my:DatePicker IsTodayHighlighted="True" Width="200" Format="yyyy-mm-dd">
</my:DatePicker>
これの構文を知っている人はいますか?
これはうまくいきます:
<my:DatePicker IsTodayHighlighted="True" Width="200">
</my:DatePicker>
しかし、私は次のような日付をフォーマットしたい:
<my:DatePicker IsTodayHighlighted="True" Width="200" Format="yyyy-mm-dd">
</my:DatePicker>
これの構文を知っている人はいますか?
残念ながら、DatePicker コントロールは現在、無料の DateTime 形式をサポートしていません。
これが DatePicker の将来のバージョンでのサポートに関心がある場合は、それを示唆するコードプレックス機能リクエストを作成してください。 http://silverlight.codeplex.com/WorkItem/Create.aspx
新しい Silverlight Toolkit の 2009 年 3 月の TimePicker および TimeUpDown コントロールは、幅広いグローバリゼーション オプションをサポートしていることに注意してください。それらの 1 つには、無料の DateTime 形式が含まれています。そのため、その機能を DatePicker に移植するかどうかは、公共の関心事です。TimePicker @ http://silverlight.codeplex.com/Wiki/View.aspx?title=Silverlight%20Toolkit%20Overview%20Part%201#TimePickerの形式を見てください。
それまでの間、最善の回避策は、ローカル カルチャを変更するか、ローカル カルチャの形式を変更することです。
public App()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-NL");
または、ローカル カルチャの形式を変更します。
public App()
{
Thread.CurrentThread.CurrentCulture = (CultureInfo) Thread.CurrentThread.CurrentCulture.Clone();
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "D/m/yyyy";
Silverlight DatePickerにはSelectedDateFormatプロパティがあり、これが探しているものである可能性があります。
これは回答済みの質問です。
しかし、最近作成を開始した Silverlight 5 コントロール ツールキットへのこのリンクについてお知らせしたいと思います。これには、(他のコントロールの中でも) 同じコントロール内で日付と時刻の両方を処理できる DateTimeBox コントロールが含まれています。現時点ではまだ開発中ですが、ほとんどのシナリオで使用できるはずです。
コントロールのテキストボックスを非表示にして (幅を狭く)、独自のものを公開し (オプションで IsEnabled を false に設定)、要素バインディングとコンバーターを使用することができます。MVVM を使用している場合は、DataContext を ViewModel に設定します。もう 1 つのオプションは、DataTemplate を上書きしてテキスト ボックスを含めないようにし、同じ考えを実行することだと思います。
<StackPanel Orientation="Horizontal" Height="22">
<TextBox x:Name="textBox2" Width="106" Text="{Binding ElementName=datePicker2, Path=SelectedDate, Mode=TwoWay, Converter={StaticResource internationalDateTimeFormatConverter}}" />
<controls:DatePicker x:Name="datePicker2" IsTabStop="False" SelectedDate="{Binding TargetDatePicker, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" Width="23" HorizontalAlignment="Left" />
</StackPanel>
更新: テキスト ボックスから日付ピッカーへの TwoWay バインディングはうまく機能しますが、ViewModel プロパティは更新されません。そこで、IsEnabled=False を設定して、それを良いと呼びます。