0

Bicycle クラスの多数のオブジェクトに関する情報を含む ListBox を備えた WPF ブラウザー アプリケーションがあります。アプリの下半分には、ユーザーが新しい自転車に関する情報を入力できる多数の TextBox が含まれています。私の目標は、ユーザーがフィールドに許容値を入力せず、すべてのフィールドが検証テストに合格するまでデータの送信を許可しない場合に検証エラーを表示する検証ルール (私が既に使用しているもの) を使用することです。私の問題は、データがインスタンス化された Bicycle オブジェクトにバインドされていない場合、データを検証する方法がわからないことです。0 のパラメーターを受け入れ、TextBox 値をこのインスタンスにバインドする Bicycle クラスでコンストラクターを作成する必要がありますか? または、そのクラスのインスタンスを作成せずに、検証ルールをクラスのプロパティにバインドする方法はありますか? ソースは何でしょう?

編集: 送信されると、ユーザーの TextBox 入力を含む Bicycle オブジェクトが ObservableCollection に格納され、ListBox に入力されます。Bicycle クラスの 1 つのインスタンスを使用してデータをバインドする場合、TextBoxes からデータを取得して複数の (固有の) Bicycles を ObservableCollection に追加する方法がわかりません。

編集: TextBoxes をコレクションとは別の Bicycle オブジェクトにバインドし、そこからの値を、ユーザーが送信ボタンを押したときにコレクションに追加できる新しい Bicycle オブジェクトに渡しました。元のオブジェクトを参照として渡すのではなく、自転車オブジェクトをコピーする方法を理解できませんでしたが、値を新しい自転車オブジェクトのコンストラクターに送信すると、このような問題を回避できる可能性があります。

4

1 に答える 1

0

コード ビハインドで、Bicycle のインスタンスを作成します。その Bicycle インスタンスを返すパブリック プロパティをコード ビハインドに用意します。次に、すべてのテキスト ボックスを Bicycle のプロパティにバインドします。つまり、Bicycle.TireSize、Bicycle.Color などです。次に、ユーザーがデータを入力し終わったら、自転車オブジェクトを検証するだけです。有効な場合、自転車はすでに組み立てられており、保管する必要がある場所に送ることができます。

于 2012-06-15T15:52:34.957 に答える