这可能有点啰嗦,因为我是wpf的新手。我已经为我的L2S类中的实体创建了一个部分类,主要用于验证。它实现了onchanging和onvalidate方法。我正在尝试使用MVVM模式,在窗口/视图中我已经在xaml中设置了datacontext:
<Window.DataContext>
<vm:StartViewModel />
</Window.DataContext>
当用户在视图空白处留下必填字段时,关闭表单时会触发部分类的onchanging事件,而不是在保存数据时触发。因此,如果用户将文本框留空,则保留旧值并触发onchaging方法,但我不知道如何提醒用户产生的错误。这是我在部分类中的改变代码:
partial void Ondocument_titleChanging(string value)
{
if (value.Length == 0)
throw new Exception("Document title is required.");
if (value.Length > 256)
throw new Exception("Document title cannot be longer than 256 characters.");
}
抛出异常不会通知用户错误。它只允许表单关闭并拒绝对文本框的更改。
希望这是有道理的......
编辑: 这个例子来自Scott Guthries的文章: http://aspalliance.com/1427_LINQ_to_SQL_Part_5__Binding_UI_using_the_ASPLinqDataSource_Control.5
答案 0 :(得分:0)
Text="{Binding Path=CurrentDocument.document_title, ValidatesOnDataErrors=True, NotifyOnValidationError=True, UpdateSourceTrigger=PropertyChanged}"