我需要在我正在开发的 WPF 应用程序中进行某种数据验证
据我所知,当你添加ValidatesOnDataErrors=True
到 Binding 时,每次 Binding 被解析(可能是每次值变化时,也可能是失去焦点时),Binding 引擎检查绑定源,通过IDataErrorInfo
,访问接口,找出是否有错误。
听起来不错,只有一个警告。为了验证数据,需要对其进行渲染。如果您碰巧ObservableCollection
将该实体中的一个绑定到ListBox
with VirtualizingStackPanel.IsVirtualizing=True
,则仅验证呈现的项目。由于大多数项目都在视口之外,因此它们不会被渲染。
如何强制验证每个项目?删除 UI 虚拟化不是一种选择。