繁体   English   中英

如何将日历中的选定月份显示到 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();
    }

在此处输入图像描述 在此处输入图像描述

您可以使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM