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

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

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

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

猜你喜欢

转载自www.cnblogs.com/LiZhongZhongY/p/10884627.html
WPF