質問

WinDataアプリケーションで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"));
役に立ちましたか?

解決

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

完全ではあるが非常にシンプルで短いチュートリアルについては、このブログ投稿

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top