我有这个非常简单的课程,我们称之为客户.它看起来像这样:
namespace TestValidation { class Customer { private string _name; public string Name { get { return _name; } set { _name = value; if (String.IsNullOrEmpty(value)) { throw new Exception("Customer name is mandatory."); } } } } }
现在,我已经创建了一个基本表单,用户可以在其中将客户添加到数据库中.该表单包含简单的TextBox,绑定到Customer的Name属性,以及一个"添加"按钮.
XAML代码是:
从Name属性的setter中,您可以理解该名称对我来说是必需的,因此如果Name TextBox留空,我想要验证事件.通过WPF的验证规则 - 一旦用户将焦点移出文本框,并且那里没有值 - 它应该将边框颜色更改为红色.出于某种原因 - 这没有发生,我也不知道为什么.我的过程有什么问题?
现在,我已经阅读了很多关于WPF验证的好文章(比如使用WPF执行复杂业务数据规则,WPF中的数据验证和Windows Presentation Foundation中的验证),但它们都没有帮助我解决我的问题.
最后,我希望表单看起来像Brian Noyes中第一个链接上的优秀文章(没有10个学分,所以我无法附上照片......对不起).
如果有人能向我解释它是如何运作的,我将不胜感激.
重要提示 - 我正在使用.Net framework 4,因此我需要一个适合此版本的解决方案.