当绑定值为 null 时出现 WPF 日期选择器验证错误

2024-05-12

我有一个 WPF 应用程序,其中使用绑定到实体框架(带有 SQL Server)实体的日期字段的日期选择器。我将其绑定如下:

<DatePicker x:Name="dtComplete" Style="{StaticResource FTC_DatePicker}" Grid.Column="2" Grid.Row="7" Grid.ColumnSpan="3"                                            
Text="{Binding dtComplete, Mode=TwoWay, ValidatesOnDataErrors=True}"/>

绑定工作正常并且可以更新到实体。

我的问题是,当底层数据库字段为空时,我得到选择日期水印,我想要,但该水印正在验证并返回为不是日期格式。我想保留水印,但在用户更改输入之前没有验证触发器。另外,我想保留ValidatesOnDataErrors=True因为我在其他地方使用它来评估业务逻辑。

To see what I mean, here is a form that uses the datepicker with a null value for the date, you can see the validation error: wpf datepicker validation error

调试时的输出窗口给出以下验证转换错误:

System.Windows.Data 错误:7:ConvertBack 无法转换值 '' (输入“字符串”)。 BindingExpression:Path=dtComplete; DataItem='job_BF0D6052EEADCDA3C2B6D1A174D77C322D5AB16A035F214705610767131A80F0' (哈希码=17930557);目标元素是“DatePicker” (名称='dtComplete');目标属性是“文本”(类型“字符串”) FormatException:'System.FormatException:字符串未被识别为 有效的日期时间。在 System.DateTime.Parse(String s, IFormatProvider 提供者)在 System.Convert.ToDateTime(字符串 值,IFormatProvider 提供者)位于 System.Convert.ChangeType(对象值,类型转换Type, IFormatProvider 提供者)位于 System.Windows.Data.BindingExpression.ConvertBackHelper(IValueConverter 转换器、对象值、类型 sourceType、对象参数、 文化信息文化)'

在用户更改输入之前,有人可以帮助我消除此验证错误吗?

提前致谢


弄清楚了:

我绑定到 hte datePicker 的文本值,因此它试图将水印文本验证为日期,但我真正应该做的是绑定到 selectedDate 属性,如下所示:

<DatePicker x:Name="dtComplete" Style="{StaticResource FTC_DatePicker}" Grid.Column="2" Grid.Row="7" Grid.ColumnSpan="3"                                                                                        
 SelectedDate="{Binding dtComplete, Mode=TwoWay, ValidatesOnDataErrors=True}" />

现在,这按照我想要的方式运行,选择日期水印仍然存在,并且绑定日期值有效。现在一切都太明显了。简单修复

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当绑定值为 null 时出现 WPF 日期选择器验证错误 的相关文章

  • WCF 自定义序列化器

    我正在 WCF 中创建一个返回 JSON 的 Web 服务 但 DataContractJsonSerializer 对某些循环引用犹豫不决 在这种特殊情况下我无法删除这些引用 相反 我想使用 Newtonsoft json 库 在 WCF
  • 在 WiX 中轻量运行时,DefaultDir 无效

    我只是想做一个安装程序 将一些文件移动到程序文件中 设置开始菜单链接 并出现在要卸载的添加 删除程序中 目前我很乐意点击开始菜单链接 因为这看起来相对简单 需要注意的是 我特别希望可以通过脚本构建它without任何类型的全局安装 这意味着
  • 有没有办法对 RichTextBox 的撤消历史进行分组或暂时禁用它?

    我目前正在研究 WPF 中 RichTextBox 内的表格 在 WPF 中 表格没有行和列 只有行 每行都有一定数量的单元格 当用户按下 添加列 按钮时 我的程序会向每一行添加一个新单元格 使用此方法的问题是 在用户添加一列后 如果他们按
  • 如何将 CefSharp 浏览器限制为给定域

    我想阻止我的应用程序显示特定域 即 example com 以外的网页 我最初的想法是检查请求 URL浏览前开启事件处理程序 public bool OnBeforeBrowse IWebBrowser browser IRequest r
  • 实体框架中的多态性

    具体类 BankAccount and CreditCard 在控制器上不可见 我被这个问题困扰了 我正在使用该网站的示例 http weblogs asp net manavi archive 2010 12 28 inheritance
  • wpf中的图像问题(图像不显示)

    我不明白为什么我无法在 WPF 中显示图像 也许我不小心修改了我的资源文件夹 这就是我没有显示的原因 所以我创建了一个新的 wpf 应用程序 我有这个 当我运行该程序时 我的图片显示为 为什么当我尝试在程序中执行相同的操作时 图像没有显示
  • Microsoft MVC:手动触发表单验证

    有谁知道是否有办法手动触发 Net MVC 应用程序中的客户端表单验证 我想做以下事情 我已经查看了 MicrosoftMvcValidation js 中的代码 但没有找到可以在表单上调用的方法 我认为您正在寻找的验证可以在这里找到 ht
  • TransactionScope - 底层提供程序在 EnlistTransaction 上失败。 MSDTC 正在中止

    我们的团队遇到了一个问题 表现为 底层提供者在 EnlistTransaction 上失败 无法访问 已处置对象 对象名称 事务 这似乎是我们一开始使用就出现的交易范围 http msdn microsoft com en us libra
  • Braintree API 在 Sandbox 中的 CreateCard.Create 上抛出 Braintree.Exceptions.AuthorizationException

    我正在使用 ASP NET MVC 4 NET Braintree Payments API 和 Braintree js 这是我为 Braintree 构建的一个简单的包装器 public class PaymentBL private
  • 为什么在将 SQLite Nuget 包添加到 LINQPad 时收到 DllNotFoundException?

    我已经添加了System Data SQLite CoreNuGet 包到我的 LINQPad 5 Query Premium 然后尝试执行以下命令 new SQLiteConnection memory Dump 但我得到 DllNotF
  • 无法使用 Visual Studio 2013 中的 F5 进行调试,模块窗口为空

    我正在尝试使用调试程序启动外部程序在 Visual Studio 2013 中 所有项目文件都是 NET 3 5 顺便说一句 自从更新到VS2013 大约两周 以来我就这样调试过 但今天突然停止工作了 当我运行该程序时 它会启动 但是调试
  • 将 .NET 小数存储到 MySQL 中的最佳字段定义是什么?

    我需要将小数存储到 MySQL 中 它可以具有不同的精度 因此我很想知道哪种 MySQL 字段类型绝对等同于 NET 的字段类型decimal http msdn microsoft com en us library system dec
  • 如何让MCR启动时间快

    我将 matlab 程序转换为 net 程序集 即 dll 文件 我制作了一个控制台 C 应用程序 添加了 dll 文件并从 php 调用它 每次调用 exe 时都会调用 MCR 如何使 MCR 在服务器启动时初始化 并且即使在一段时间后调
  • 如何在 WPF 数据网格中添加页脚行?

    如何在 WPF 数据网格中添加页脚行 我必须在 WPF 数据网格中为每列的总和添加一行 我不想使用任何 dll 或 telerik 以及类似的东西 仅使用 Microsoft 组件来执行此操作 我正在尝试这样做
  • WPF:按钮单击+双击问题

    我必须处理 WPF 应用程序中按钮的单击和双击 并具有不同的反应 不幸的是 在双击时 WPF 会触发两个单击事件和一个双击事件 因此很难处理这种情况 它试图使用计时器来解决它 但没有成功 我希望你能帮助我 我们看一下代码 private v
  • 如何找到可能直接或间接调用给定方法的所有单元测试? (。网)

    如何找到可能直接或间接调用给定方法的所有单元测试 当我改变方法时 我希望知道要运行的最佳测试 必须有一个工具可以做到这一点 由于我们有很多接口 所以我对所有在实现接口的类上至少有一个路径 var 植入方法时调用接口上的方法的单元测试感兴趣
  • 使用 Youtube .net API 上传视频并将其设置为不公开

    net 的 Youtube API 似乎有一段时间没有更新了 因此 没有公开的属性或方法可以将视频设置为不列出 如果有人以前遇到过这个问题 可以建议解决方法吗 我也很难弄清楚这一点 所以我想我会将我的发现发布给任何寻求此问题答案的人 As
  • 从 .Net 将简单数据插入 Excel 文件的最简单方法

    我有一个 Excel 文件 大约有 10 列和 1 20 行 我需要插入 1 20 行包含各种数据元素 我想知道是否有一种方法可以将一些标签放入 Excel 文件中 以便可以找到并替换它们 将列标记为 名称 的东西 这样我就可以在代码中说
  • 可选参数“必须是编译时常量”

    我有一个类分为两个部分文件 如下所示 public partial class PersonRepository BaseRepository
  • 将占位符文本添加到文本框

    我正在寻找一种将占位符文本添加到文本框的方法 就像在 html5 中使用文本框一样 IE 如果文本框没有文本 则会添加文本Enter some text here 当用户单击它时 占位符文本消失并允许用户输入自己的文本 如果文本框失去焦点并

随机推荐

  • 为什么发布和调试模式下的代码行为不同?

    考虑以下代码 private static void Main string args var ar new double 100 FillTo ref ar 5 Console WriteLine string Join ar Selec
  • 为什么这个未使用的变量没有被优化掉?

    我使用了 Godbolt 的 CompilerExplorer 我想看看某些优化有多好 我的最小工作示例是 include
  • 如何在 Java/Eclipse 中使用特殊字符

    如何在 Java Eclipse 中使用 显示 或 等字符 当我尝试直接使用它们时 例如在源代码中 Eclipse无法保存文件 我能做些什么 编辑 如何找到 unicode 转义序列 问题是您使用的字符无法以文件设置的编码 Cp1252 表
  • Node.js 客户端中的 Windows 集成身份验证

    当使用node js作为客户端时 是否可以使用Windows集成身份验证连接到服务器 例如连接到IIS时 我对此的搜索仅出现使用 node js 作为服务器的结果 2015 年更新 现在有一些模块实现了 Windows 集成身份验证 节点
  • 在 Java 中哪里可以获得“UTF-8”字符串文字?

    我尝试在这段代码中使用常量而不是字符串文字 new InputStreamReader new FileInputStream file UTF 8 UTF 8 代码中经常出现 最好参考一些static final变量代替 你知道在JDK中
  • FreeMarker - 获取当前 URL

    是否可以在 FTL 中获取当前页面的 URL 据我所知 freemarker 严格来说是一个模板引擎 它只是生成文本 并且无法知道该文本将出现在哪里 如果要包含 当前页面的 URL 则必须将该数据从主机 Java 代码传递到模板中 推荐 或
  • 在 angularjs 中的某些字段上设置条件焦点[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 您好 所有工程师同事 我看到了很多问题 并提出了关于将焦点设置在某些输入字段上的答案 但我没有找到任何可以满足我的要求的
  • Android 已弃用屏幕尺寸?

    嘿 我需要在我的应用程序中获取屏幕的宽度 该应用程序将在 2 1 及更高版本上运行 我已经将其设置为如下所示 该方法已被弃用 我可能应该使用 getSize 或其他方式 但问题是 这是否适用于 3 0 和 4 0 等 Android 版本
  • 如何确保使用 Microsoft Sync Framework 同步成功?

    我正在使用微软同步框架 https msdn microsoft com en us sync bb736753 aspx同步两个 Microsoft SQL Server 上的表 我创建了一个测试应用程序 它每秒在远程服务器上的表中生成一
  • 如何在 python 中生成音符或和弦?

    有人能给我指出一个在 python 2 7 中生成音符和和弦的好库吗 我查看了 PythonInfoWiki 但运气不佳 PyAudio 只是崩溃了 似乎没有其他东西可以生成音调 我不知道这是否有帮助 但这里有一些代码可以根据给定的频率和振
  • 为什么最后一个关闭的 MDI 子窗体没有被垃圾回收?

    我们的应用程序中存在内存泄漏问题 我已成功通过以下简单示例复制了其中一个问题 复制设置 1 创建以下辅助类 用于跟踪对象创建 销毁 public class TestObject public static int Count get se
  • Pandas:根据其他列值有条件地替换值

    我有一个数据框 df 如下所示 environment event time 2017 04 28 13 08 22 NaN add rd 2017 04 28 08 58 40 NaN add rd 2017 05 03 07 59 35
  • Kafka Streams 如何处理包含不完整数据的分区?

    Kafka Streams 引擎将一个分区映射到一个工作线程 即 Java 应用程序 以便该分区中的所有消息都由该工作线程处理 我有以下场景 并试图了解它是否仍然可行 我有一个主题 A 有 3 个分区 发送给它的消息由 Kafka 随机分区
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • Django ValueError:缺少静态文件清单条目,但清单似乎显示该条目

    在部署到 Heroku 的 Django 1 11 应用程序上 加载根 URL 时 我猜当 Django 到达时 static angular angular min js in the homepage html模板 我收到以下错误 Va
  • mat-table 中每行的 formGroup 数组

    我有一个 formGroup 数组 其中每个元素代表一个表单 接下来我有一个 mat 表 我想要做的是将每个 tr 即每一行 生成为不同的表单 以便表的第 i 行链接到第 i 个 formGroup 因此 在第 i 行内 每个 td 元素都
  • 更改 gnuplot 中 tics 之间的实际空间

    x 轴示例 Before 10 20 30 40 After 10 20 30 40 我已经搜索了一段时间 只找到了如何尽可能简单地缩放除抽动之间的大小之外的其他所有内容 我不想改变画布大小 终端大小 抽动大小 抽动数量等 我想拉伸 x 轴
  • Android 6 getAccountName() 缺少 android.permission.GET_ACCOUNTS

    在 Android 6 设备上运行时出现以下异常 java lang SecurityException Missing android permission GET ACCOUNTS 这看起来像是一个相当简单的例外 但对我来说并非如此 我
  • .NET Core Web API 密钥

    我正在开发一个应用程序 用户可以通过用户名和密码进行身份验证 我们提供一个 JWT 令牌 然后在服务器上进行验证 我想补充的一件事是能够拥有一个特殊的 API 密钥 guid 用户在与此应用程序集成时可以使用该密钥 而不是使用用户名和密码
  • 当绑定值为 null 时出现 WPF 日期选择器验证错误

    我有一个 WPF 应用程序 其中使用绑定到实体框架 带有 SQL Server 实体的日期字段的日期选择器 我将其绑定如下