DatePickerで選択した日付を、12/07/2017と英語圏表記で表示したいです。
アメリカとイギリスでは違うので、「英語圏表記」というのはあいまいですね。
dd/MM/yyyy
とされているので、イギリス式(日月年)ということでしょうかね。
日付 - Wikipedia
<DatePicker Language="en-GB" />
とするのが簡単です(ただしカレンダーも英語になります)
FrameworkElement.Language プロパティ (System.Windows) | Microsoft Learn
カレンダーは日本語にしたい場合は、Calendar
のLanguage
を戻しますかね?(バカバカしいが^^;
xml
1 < DatePicker Language = " en-GB " >
2 < DatePicker.CalendarStyle >
3 < Style TargetType = " Calendar " >
4 < Setter Property = " Language " Value = " ja-JP " />
5 </ Style >
6 </ DatePicker.CalendarStyle >
7 </ DatePicker >
テンプレートをいじるのは自由度は高いですが、長くなるので最終手段ですかね。
DatePickerTextBox
のControlTemplate
は、実際にはもっと複雑です(わかりやすい差はWatermarkが出ない等)
.net - Custom WPF DatePickerTextBox Template - Stack Overflow
xml
1 < Window
2 x: Class = " Q83952.MainWindow "
3 xmlns = " http://schemas.microsoft.com/winfx/2006/xaml/presentation "
4 xmlns: x = " http://schemas.microsoft.com/winfx/2006/xaml "
5 xmlns: sys = " clr-namespace:System;assembly=mscorlib "
6 Width = " 500 "
7 Height = " 700 " >
8 < StackPanel >
9 < GroupBox Margin = " 4 " Header = " Normal " >
10 < DatePicker SelectedDate = " {x:Static sys:DateTime.Now} " SelectedDateFormat = " Short " />
11 </ GroupBox >
12
13 < GroupBox Margin = " 4 " Header = " Language= " en-GB " " >
14 < DatePicker Language = " en-GB " SelectedDate = " {x:Static sys:DateTime.Now} " SelectedDateFormat = " Short " />
15 </ GroupBox >
16
17 < GroupBox Margin = " 4 " Header = " Language= " en-GB " , Calendar.Language= " ja-JP " " >
18 < DatePicker Language = " en-GB " SelectedDate = " {x:Static sys:DateTime.Now} " SelectedDateFormat = " Short " >
19 < DatePicker.CalendarStyle >
20 < Style BasedOn = " {StaticResource {x:Type Calendar}} " TargetType = " Calendar " >
21 < Setter Property = " Language " Value = " ja-JP " />
22 </ Style >
23 </ DatePicker.CalendarStyle >
24 </ DatePicker >
25 </ GroupBox >
26
27 < GroupBox Margin = " 4 " Header = " DatePickerTextBox.Template " >
28 < DatePicker SelectedDate = " {x:Static sys:DateTime.Now} " >
29 < DatePicker.Resources >
30 < Style TargetType = " DatePickerTextBox " >
31 < Setter Property = " Template " >
32 < Setter.Value >
33 < ControlTemplate >
34 < TextBox Text = " {Binding SelectedDate, StringFormat= ' dd/MM/yyyy ' , ConverterCulture=en-GB, RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}} " />
35 </ ControlTemplate >
36 </ Setter.Value >
37 </ Setter >
38 </ Style >
39 </ DatePicker.Resources >
40 </ DatePicker >
41 </ GroupBox >
42 </ StackPanel >
43 </ Window >
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。