WPF C#如何将文本框输入验证为日期格式

Posted

技术标签:

【中文标题】WPF C#如何将文本框输入验证为日期格式【英文标题】:WPF C# How to validate textbox input as Date format 【发布时间】:2017-09-04 20:22:42 【问题描述】:

我有一些文本框,用户可以在其中输入日期或时间。 当我保存在数据库中时,我会创建

string input = txtdocumentiDate.Text +" "+ txtdocumentiTime.Text;
        ts.Documenti = DateTime.ParseExact(input, "dd/MM/yyyy HH.mm", CultureInfo.InvariantCulture);

(ts是我的实体框架数据库表)

我想在保存触发按钮之前检查一下我的文本框的所有格式是否都有效。

【问题讨论】:

是否有理由不使用 WPF DatePicker?它本质上是一个屏蔽文本框,只允许输入日期,因此可以验证您的任何数据。 我尝试使用 WPFToolKit DateTimePicker,但我不喜欢用户交互的工作方式。 【参考方案1】:

使用DateTime.TryParse。它返回一个布尔值,指示该方法是否能够解析字符串。

string input = txtdocumentiDate.Text +" "+ txtdocumentiTime.Text;
DateTime dummy;
if(DateTime.TryParse(input, dummy))
    ts.Documenti = DateTime.ParseExact(input, "dd/MM/yyyy HH.mm", CultureInfo.InvariantCulture);

【讨论】:

以上是关于WPF C#如何将文本框输入验证为日期格式的主要内容,如果未能解决你的问题,请参考以下文章

验证日期输入格式

在 WPF + MVVM +Binding + UserInput 中的 TextBox “预期格式为 DD/MM/YYYY”

WPF 工具包,如何在 C# 中为日期选择器控件应用日期格式?

VBA验证文本框中是不是存在文本,然后检查日期是不是格式正确

C# 中怎样将日期格式mm/dd/yy 转化为yyyy-mm-dd?

在EXCEL中如何将日期格式转换,例如把2012/09/01变换成2012-09-01?