如何将日历中的选定月份显示到 WPF 中的文本框中?

How to display selected month from Calendar into text box in WPF?

我想问一下如何显示从日历中选择的月份并显示到我的文本框中?我尝试使用 ToString(),但它仍然不起作用。我认为日期选择器和日历有所不同,但仍不确定。有人可以帮我吗?非常感谢。这是我的编码;

在xaml;

 Calendar Name ="dteSelectedMonth" DisplayMode="Year" SelectionMode="SingleDate" DisplayModeChanged="dteSelectedMonth_DisplayModeChanged" DisplayDateChanged="monthCalendar_DataChanged" 

在xaml.cs;

private void monthCalendar_DataChanged(object sender, CalendarDateChangedEventArgs e)
    {
        monthDisplay.Text = dteSelectedMonth.SelectedDate.ToString();
    }

使用 CalendarDateChangedEventArgs 对象及其 属性 AddedDate。当事件被触发时,它将包含新月份中先前选择的日期。然后您可以将其转换为任何字符串格式,例如获取月份。

请检查您的 monthDisplay 文本框是否为空。发生这种情况是因为 displayDteChanged 事件在文本框初始化之前触发(如果您在 Calendar 之前声明了 TextBox)。添加一个空检查来处理这个问题。

if (monthDisplay != null)
            monthDisplay.Text = e.AddedDate?.Month.ToString();

您可以使用 DisplayDate 属性 获取所选月份。在尝试设置 Text 属性:

之前,请确保 IsLoaded 属性 returns 为真
private void monthCalendar_DataChanged(object sender, CalendarDateChangedEventArgs e)
{
    if (IsLoaded && dteSelectedMonth.DisplayDate != null)
        monthDisplay.Text = dteSelectedMonth.DisplayDate.ToString("MMM");
}