[英]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();
}
您可以使用DisplayDate
属性获取所选月份。 在尝试设置Text
属性之前,请确保IsLoaded
属性返回 true:
private void monthCalendar_DataChanged(object sender, CalendarDateChangedEventArgs e)
{
if (IsLoaded && dteSelectedMonth.DisplayDate != null)
monthDisplay.Text = dteSelectedMonth.DisplayDate.ToString("MMM");
}
使用CalendarDateChangedEventArgs
AddedDate
及其属性 AdditionalDate 。 触发事件时,它将包含新月份中先前选择的日期。 然后您可以将其转换为任何字符串格式,例如获取月份。
请检查您的月份显示文本框是否为 null。 发生这种情况是因为 displayDteChanged 事件在文本框初始化之前触发(如果您在 Calendar 之前有 TextBox 的声明)。 添加一个 null 检查来处理这个问题。
if (monthDisplay != null)
monthDisplay.Text = e.AddedDate?.Month.ToString();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.