1

スタイルを使用するWPFIDataErrorInfoで、データを検証しながらエンドユーザーに3つの異なるステータスを提供できるフォームを作成したいシナリオをより明確にする

1) その横にテキストボックスがあります。エンドユーザーに、テキストボックスが期待する入力の種類を提供するアイコンがあります - 情報アイコン付きの初期ステータス

2) ユーザーがデータを入力するとすぐに、データが検証され、有効かどうかが決定されます。ほとんどの場合、無効なデータを示す十字 (X) アイコンが表示されます。

3) 検証中のため、検証さUpdateSourceTrigger="PropertyChanged"れるとすぐに十字アイコンが緑色のチェック マークに変わります。

すなわち

[         ] i (tooltip- Any valid user name )
[Ga       ] X (tooltip- Invalid user name. Must be 5 char long)
[Gaurav   ] * (it will show only correct icon, meaning valid value)

スタイルを使用してこれを達成するにはどうすればよいですかIDataErrorInfo、それを試してみましたが、フォームが読み込まれるとすぐにすべてのデータが無効になり、最初に十字アイコンが表示されます。Initial info3 つの状態 ( 、Invalid dataValid data)で異なるツールチップと異なるアイコンを表示したい

4

2 に答える 2

1

IDataErrorInfo には、3 つの状態を表す手段が含まれていません。「エラー」と「エラーなし」しかわかりません。

最善の解決策は、次の方法で IDataErrorInfo の使用を回避することです。

  1. 関連フィールドの 3 段階ステータスを提供する検証済みフィールドごとにプロパティを作成します。
  2. ビュー内の ContentControls をこれらの 3 つの状態のプロパティにバインドします。
  3. これらの新しい ContentControls のすべてに 1 つのスタイルを設定します。
  4. スタイルでトリガーを使用して、エラー状態と有効状態の ContentControl.ContentTemplate プロパティを割り当てます。初期状態では、Style 自体に Setter を使用して何も表示しないようにします。

各フィールドのツールチップ テキストのプロパティも作成する必要がある場合があります。

于 2011-03-15T19:03:46.787 に答える
0

ここで素晴らしい例を見つけることができますModel-View-ViewModel デザイン パターンを使用した WPF アプリ

于 2009-07-17T11:28:24.270 に答える