c# - 在不选择日期的情况下从日历控件获取值

标签 c# wpf calendar wpf-controls

有没有一种方法(使用 Visual Studio WPF 中的日历控件)我可以获得一个值,而无需在控件中实际选择一天。

例如,我有一个客户想要日历的 DisplayMode = Year。 现在假设他们在控件内选择了三月。这会将 DisplayMode 更改为 Month,并且在他们在控件内选择该月的某一天之前不会设置任何值。

有没有一种方法可以获取年份和月份并将其设置为一个值,而无需他们实际选择一天?因为在这种情况下,日期并不重要。

我发现了一些不涉及使用日历控件或 DatePicker 的解决方法,但我想继续将这些控件用于 UI 目的。

最佳答案

您需要创建一个 DisplayModeChanged 事件并相应地更改模式:

private DateTime newdate = DateTime.Now;

private void Window_Loaded(object sender, RoutedEventArgs e)
{
   calctl.SelectedDate = DateTime.Now;
   calctl.DisplayMode = System.Windows.Controls.CalendarMode.Year;
}
private void calctl_DisplayModeChanged(object sender, CalendarModeChangedEventArgs e)
{
        if (calctl.DisplayMode == System.Windows.Controls.CalendarMode.Month)
        {
             newdate = calctl.DisplayDate;
             calctl.DisplayMode = System.Windows.Controls.CalendarMode.Year;
        }
}

这将允许您更改月份和/或年份,而不必担心日期。 您需要将初始显示模式设置为月份

关于c# - 在不选择日期的情况下从日历控件获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30719572/

相关文章:

c# - n 个列表的笛卡尔积

c# - 如何使用 C# 代码 LINQ 将多级 XML 扁平化为单级 XML

c# - 我可以在 WPF 中即时创建图标吗?

java - 如何获取犹太历一年中的第几周

c# - 为什么c#中的main方法总是放在类中而不是c++中

c# - 为什么 WellKnownSidType 有时无法转换为 sid/account?

wpf - 通过拖动启用 ListView 多选

c# - 基于样式隐藏代码中的 ="{StaticResource {x:Type TextBox}}"

iphone - 请求访问日历时,iOS 6应用程序崩溃

jQuery Datepicker - 根据之前的日历限制 minDate