9

winformsアプリケーションでIDataError情報を適切に使用できますか? 以前は、通常の方法 (1) でバインディングを行っており、特定のコントロールの OnValidating イベントで検証を行っていました。データ検証をドメイン モデルに移動して、ユーザー インターフェイスを簡単に交換し、すべてのロジックを 1 か所にまとめたいと考えています。

私は IDataErrorInfo を調べていましたが、見つけたものはすべて WPF であり、開発中のアプリは厳密には winforms アプリです。

また、WPF で使用されるバインディングは System.Windows.Data にあり、私がいつも使用しているバインディングは System.Windows.Forms にあることに気付きました (これを追加しようとしてもないようです)。リソースとして-私は3.5を使用しています。プロパティ「ValidatesOnDataErrors」以外に、2つに違いはありますか?

(1)通常の方法は次のとおりです。

myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));
4

2 に答える 2

9

これは、WindowsフォームのErrorProviderコンポーネントで機能します。

完全ですが、非常に単純で短いチュートリアルについては、このブログ投稿を参照してください。

于 2009-09-09T20:22:15.387 に答える
1

はい、IDataErrorInfowinformsで動作します。たとえば、DataGridViewこれは行ごととセルごとの両方で自動的に使用されます。ただし、これは実装固有であり、他のバインディングに自動的に適用されることはありません。私はかつて、それをエラープロバイダーに関連付け、変更イベントを介して作業を行うためのコードを作成しましたが、残念ながらそれを渡すことはできません。しかし、それはそれほど大きくなかったことを思い出しているようです。

于 2009-09-09T20:19:37.793 に答える