使用IDataErrorInfo和Validation.Errors在WPF中进行验证摘要

时间:2012-10-17 18:01:41

标签: c# .net wpf validation data-binding

我有一个带有ObservableCollection实现IDataErrorInfo的ViewModel:

public class ActivityCodesEditorViewModel : BaseViewModel
{
    public ObservableCollection<UIActivityCode> ActivityCodes
}
public class UIActivityCode : IActivityCode, INotifyPropertyChanged, IDataErrorInfo

此集合绑定到数据网格(一个infragistics XamDataGrid,但我认为这是无关紧要的)。验证在单元级别上运行良好,显示哪些对象具有验证错误。

现在,我想不仅要显示内联错误,还要提供类似于我们在asp.net中的ValidationSummary。我在网上看过解决方案,所有这些解决方案都使用私有哈希集来跟踪错误。我不想要那个开销,我认为它已经通过Validation.Errors由框架来处理。

我的用户界面看起来像这样:

<ListBox ItemSource="{Binding ElementName=ActivityCodesGrid, Path=(Validation.Errors)}" />
<igDP:XamDataGrid Name="ActivityCodesGrid"  DataSource="{Binding ActivityCodes}" />

你知道,我想将Validation.Errors属性绑定到将显示它们的东西,但是我无法正确绑定它们或获取它的更新版本。 这可以直接绑定到像这样的Validation.Errors吗?

编辑1

高炉!一旦我发布了这个问题,我发现了这个:

Listing all Validation.Errors in a single WPF control?

似乎Validation.Errors因为是一个数组而误导。我将尝试第二个答案中列出的解决方案。如果您的链接答案提供的内容不同,请分享!

0 个答案:

没有答案