WPF DatePicker默认显示当前日期,格式化为年月日
WPF的日历选择控件默认为当前日期,共有两种方法,一种静态,一种动态。
静态的当然写在DatePicker控件的属性里了,动态的写在对应的cs文件里,具体请看下面。
1.方法一:
myDatePicker.Text = DateTime.Today.ToLongDateString();
2.方法二:
先在窗体头部引入命名空间:
xmlns:sys="clr-namespace:System;assembly=mscorlib"
然后:
<DatePicker SelectedDate="{x:Static sys:DateTime.Now}" />
不过呢,建议用第二种方法,把UI和逻辑分开,不要再把它们放一起了!
然而,在MVVM中,这没啥卵用了,直接binding
年月日格式化
<DatePicker Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" BorderThickness="0" SelectedDate="{x:Static sys:DateTime.Now}" > <DatePicker.Resources> <Style TargetType="DatePickerTextBox"> <Setter Property="BorderThickness" Value="0"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate> <TextBox x:Name="PART_TextBox" Text="{Binding Path=SelectedDate, StringFormat={}{0:yyyy年MM月dd日}, RelativeSource={RelativeSource AncestorType={x:Type DatePicker}}}" /> </ControlTemplate> </Setter.Value> </Setter> </Style> </DatePicker.Resources> </DatePicker