且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

WPF DatePicker默认显示当前日期,格式化为年月日

更新时间:2022-09-19 15:05:23

原文: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