DatePicker的日期格式自定义

时间:2023-01-01 16:53:46
默认的格式是yyyy-M-d,我想改成yyyy-MM-dd

找了半天没找到哪里有改日期格式字符串的地方

只能在页面加载的时候在后头代码里写

dateBegin.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");


而且每次更换日期都要保证格式不变,所以要在dateBegin_SelectedDateChanged事件里写

private void dateBegin_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
     dateBegin.Text = (DateTime.Parse(dateBegin.Text)).ToString("yyyy-MM-dd");
 }


虽然效果是实现了,但是这么做太麻烦了,有没有简单的方法呢?

4 个解决方案

#1


如果你使用blend,你可以直接(点击右键就直接)编辑其template。

#2


谢谢。单位安的blend4,等上班去试试。在VS应该也可以设置吧,我觉得这都是最基本的设置。

#3


在APP.cs里的
  public App()
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
            Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
            Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
            InitializeComponent();
        }

#4


引用 3 楼 li_qiang_sc 的回复:
在APP.cs里的
  public App()
  {
  Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
  Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
 ……



多谢相助。没想到这么麻烦。

#1


如果你使用blend,你可以直接(点击右键就直接)编辑其template。

#2


谢谢。单位安的blend4,等上班去试试。在VS应该也可以设置吧,我觉得这都是最基本的设置。

#3


在APP.cs里的
  public App()
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
            Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
            Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
            InitializeComponent();
        }

#4


引用 3 楼 li_qiang_sc 的回复:
在APP.cs里的
  public App()
  {
  Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
  Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone(); 
 ……



多谢相助。没想到这么麻烦。