Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在对象的ObservableCollection上实现INotifyDataErrorInfo_C#_Wpf_Mvvm_Observablecollection_Inotifydataerrorinfo - Fatal编程技术网

C# 在对象的ObservableCollection上实现INotifyDataErrorInfo

C# 在对象的ObservableCollection上实现INotifyDataErrorInfo,c#,wpf,mvvm,observablecollection,inotifydataerrorinfo,C#,Wpf,Mvvm,Observablecollection,Inotifydataerrorinfo,上下文 我正在使用MVVM和实体框架(数据库优先)开发一个WPF应用程序。我有一个机身对象的可观察集合(通过CollectionView查看,以便我可以处理下一个/上一个逻辑)。我有一个文本框,允许编辑当前查看的机身的一个机身属性,我正在为此设置验证。我采用的方法是使用中所示的示例实现INotifyDataErrorInfo 问题 在该文章的示例中,验证是通过ViewModel中定义的单个属性的setter触发的,如下所示: private string _username; public st

上下文

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

问题

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

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


如何在特定的上下文中启动验证?因为我使用的是实体框架(首先是数据库),所以我不能在生成的机身模型中处理setter。我不知道如何在机身对象的可观察集合中获得更改setter的细粒度访问权限。我想不出还有什么地方可以触发验证。

您可以使用


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

您可以使用

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

using PropertyChanged;

[ImplementPropertyChanged]
public partial class AirFrame
{
}