開発中の WPF アプリケーションで何らかのデータ検証を行う必要があります
私の知る限り、Binding に追加ValidatesOnDataErrors=True
すると、Binding が解決されるたびに (値が変更されるたびに、フォーカスが失われたときに可能性があります)、Binding エンジンはバインディング ソースをチェックし、 を通じてIDataErrorInfo
、インターフェイスにアクセスし、エラーがあるかどうかを調べます。
1 つだけ注意点があります。データを検証するには、レンダリングする必要があります。ObservableCollection
そのエンティティの が with にバインドされているListBox
場合、VirtualizingStackPanel.IsVirtualizing=True
レンダリングされたアイテムのみが検証されます。ほとんどのアイテムはビューポートの外にあるため、レンダリングされません。
すべてのアイテムを強制的に検証するにはどうすればよいですか? UI の仮想化を削除することはできません。