私は、2つのコントロール、データグリッド、およびデータフォームを持つページを持っています。Silverlightデータフォーム現在の問題
DataGridには、特定のクラスのすべてのオブジェクトのリストがあります。ユーザがデータグリッド内の項目を選択すると、選択されたオブジェクトがデータフォームにロードされます。
dataForm.CurrentItem = view.CurrentItem; ビューは、選択した項目のみを含むPagedCollectionViewです。
私の問題は、データフォームのcurrenitemプロパティを設定するときに、PagedCollectionView(ビュー)を.CurrentItemなしで使用すると、データフォームの検証が失われます。必要なフィールドはすべて必要に応じて表示されません。私のデータフォームのCurrentItemの検証としてうまくいきますが、別の問題が発生するように私は、pcv.CurrentItemを使用する場合。
Iがデータフォームの現在の項目としてPagedCollectionViewの現在のアイテムを使用する:
ユーザは、データグリッド内のアイテムを選択して、オブジェクトがデータフォームに細かいロードされます。ユーザーがデータフォームの任意のテキストフィールドで特定の値を変更し、データフォームをロードする別のアイテムを選択すると、次のエラーがスローされます。
"アイテムに検証エラーがあるか、 AutoCommitはfalseです。代わりにCurrencyを管理するためにItemsSourceをICollectionViewに設定してください。 " データフォームのページングプロパティを使用していないため、フォームに自分の保存ボタンがあります。
私は何か助けていただきありがとうございます、これは私が取り組んでいる私の最初のシルバーライトプロジェクトです。
編集 - 私は、データフォームのcurrentitemを変更するときにdataform.CommitEditを使用しました。これが解決しなかったことの1つは、フォームに検証エラーがある場合、通貨エラーがスローされることです。とにかくこれを迂回することはありますか? AutoEditがtrueで、データフォームのAutoCommitがfalseの場合
こんにちはクリス、提案のおかげで。私はこの方法を試みましたが、私はまだ同じエラーが発生します。 – user531958
私はJhelumiが彼のポストでやったことを試みた(同じ問題があるようだ)http://stackoverflow.com/questions/3969588/silverlight-4-and-dataform-and-currenitem-and-autocommit – user531958
これは持っているようだ問題を解決しました。 – user531958