C# 如何将SelectedDate格式更改为2019年11月21日的显示?

C# 如何将SelectedDate格式更改为2019年11月21日的显示?,c#,wpf,C#,Wpf,如何更改SelectedDateFormat以显示2019年11月21日 <DatePicker CalendarStyle="{StaticResource resizedCalendarItem}" SelectedDateFormat="Short" x:Name="gDPickVisitDate" SelectedDateChanged="gDPickVisitDate_SelectedDateChanged" /> 显示2019年11月2

如何更改
SelectedDateFormat
以显示2019年11月21日

<DatePicker CalendarStyle="{StaticResource resizedCalendarItem}" 
    SelectedDateFormat="Short" 
    x:Name="gDPickVisitDate" 
    SelectedDateChanged="gDPickVisitDate_SelectedDateChanged" />

显示2019年11月21日

请注意,对话框中确实显示“2019年11月21日”

但是,
string stDate=gDPickVisitDate.ToString
会导致
stDate
包含“
2019年11月21日12:00:00 AM”


编译器不喜欢
gDPickVisitDate.Value
。我尝试了
GetValue
,但没有成功。

最简单的解决方案是:

gDPickVisitDate.ToString("dd MMM yyy"));
//dd/MMM/yyyy: 21 Nov 2019
或者如微软所描述的那样


如果您想知道哪种格式或输出是可能的,请查看Microsoft的网站。

多亏了Peter Fleischer=>


您所说的gDPickVisitDate可能是什么意思的副本,但它仍然包含2019年11月21日。?如果更改格式显示正确,您还需要什么?“默认DateTime.ToString()方法使用当前区域性的短日期和长时间模式返回日期和时间值的字符串表示形式。”如果希望DateTime对象的
ToString
采用您的格式,则必须指定它
gDPickVisitDate.value.ToString(“dd MMM yyyy”)
 //Create a new DateTimeFormatInfo where you also can set your CultureInfo
 DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture("en-US").DateTimeFormat;
 //Choose the separator
 dtfi.DateSeparator = " ";
 //Choose the format
 dtfi.ShortDatePattern = @"dd/MMM/yyyy";
 //Write it to the console
 Console.WriteLine("   {0}: {1}", dtfi.ShortDatePattern, 
                                   gDPickVisitDate.ToString("d", dtfi));

// The example displays the following output:
//       Original Short Date Pattern:
//          dd/MMM/yyyy: 21 Nov 2019
string stDate = string.Empty;
if (gDPickVisitDate.SelectedDate.HasValue)
  stDate = gDPickVisitDate.SelectedDate.Value.ToString("dd MMM yyyy");