1

语境

我正在使用 MVVM 和实体框架(数据库优先)开发 WPF 应用程序。我有一个机身对象的 ObservableCollection(通过 CollectionView 查看,以便我可以处理下一个/上一个逻辑)。我有一个文本框,允许编辑当前查看的机身的机身属性之一,我目前正在为此设置验证。我采用的方法是使用WPF 4.5 中所示的示例实现 INotifyDataErrorInfo:使用 INotifyDataErrorInfo 接口验证数据

问题

在该文章的示例中,验证是通过 ViewModel 中定义的单个属性的设置器触发的,如下所示:

private string _username;
public string Username
{
    get { return _username; }
    set
    {
        _username = value;
        ValidateUsername(_username);
    }
}

问题

如何在我的特定上下文中触发验证?当我使用实体框架(数据库优先)时,我无法在生成的机身模型中摆弄设置器。我看不到如何获得细粒度的访问权限来更改机身对象的 ObservableCollection 中的设置器。我也想不出任何其他可以触发验证的地方。

4

1 回答 1

0

您可以使用 INPC 支持您生成的机身模型

https://github.com/Fody/PropertyChanged

using PropertyChanged;

[ImplementPropertyChanged]
public partial class AirFrame
{
}

然后监听引发的事件 INotifyPropertyChanged 并将其用作强制验证的触发器。

于 2017-01-25T12:54:56.730 回答