18

これはうまくいきます:

<my:DatePicker IsTodayHighlighted="True" Width="200">
</my:DatePicker> 

しかし、私は次のような日付をフォーマットしたい:

<my:DatePicker IsTodayHighlighted="True" Width="200" Format="yyyy-mm-dd">
</my:DatePicker> 

これの構文を知っている人はいますか?

4

5 に答える 5

28

残念ながら、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";
于 2009-03-23T22:27:19.073 に答える
0

Silverlight DatePickerにはSelectedDateFormatプロパティがあり、これが探しているものである可能性があります。

于 2009-02-23T18:53:09.840 に答える
0

これは回答済みの質問です。

しかし、最近作成を開始した Silverlight 5 コントロール ツールキットへのこのリンクについてお知らせしたいと思います。これには、(他のコントロールの中でも) 同じコントロール内で日付と時刻の両方を処理できる DateTimeBox コントロールが含まれています。現時点ではまだ開発中ですが、ほとんどのシナリオで使用できるはずです。

于 2013-02-04T12:05:17.817 に答える
0

コントロールのテキストボックスを非表示にして (幅を狭く)、独自のものを公開し (オプションで 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 を設定して、それを良いと呼びます。

于 2010-05-13T14:14:14.213 に答える