0

これは私を夢中にさせています!

日付ピッカー コントロールを含む Silverlight の RIA サービス ドリブン データフォームがあります。日付をddMMMyyyy形式で表示したい。xaml のサンプルを次に示します。

<dataFormToolkit:DataForm x:Name="dataForm" AutoGenerateFields="False">
                <dataFormToolkit:DataForm.EditTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <dataFormToolkit:DataField Label="First Name">
                                <TextBox Text="{Binding PE_FIRST_NAME, Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                            <dataFormToolkit:DataField Label="Surname">
                                <TextBox Text="{Binding PE_SURNAME_NAME,Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                            <dataFormToolkit:DataField Label="Department">
                                <ComboBox x:Name="cboDepartment" DisplayMemberPath="CC_NAME" SelectedValuePath="CC_ID" SelectedValue="{Binding Path=CC_ID, Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                            <dataFormToolkit:DataField Label="Start Date">
                                <controls:DatePicker Text="{Binding PE_START_DATE, Mode=TwoWay}"/>
                            </dataFormToolkit:DataField>
                        </StackPanel>
                    </DataTemplate>
                </dataFormToolkit:DataForm.EditTemplate>
            </dataFormToolkit:DataForm>
        </StackPanel>

「 Silverlight DatePicker コントロールで日付形式を変更する方法」のアドバイスに従いました 。 そして、私のアプリのスタートアップに次の行を追加しました:

Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
        Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "ddMMMyyyy";

ただし、違いはありません。日付は常に生の形式で出力されます。たとえば、1/3/2006 12:00AM などです。

現在のカルチャがデータフォームで機能しない理由はありますか?

更新: データフォームを使用せずに同じフォームを難しい方法で実装すると、日付は正しい形式になります!

4

2 に答える 2

2
controls:DatePicker Text="{Binding PE_START_DATE, Mode=TwoWay, StringFormat='d'}"
于 2010-11-24T07:59:32.913 に答える
1

StringFormat='MM/dd/yyyy' 属性をバインディングに追加するだけです。

<TextBox IsReadOnly="True" TextAlignment="Center" Text="{Binding AlbumDate, StringFormat='MM/dd/yyyy'}" />
于 2011-05-24T06:01:02.997 に答える