MVVMアプリケーションにデータグリッドがあります。クライアントがデータを表示する方法のため、テンプレート列を使用する必要があります。ただし、一般的なデータ入力機能が必要です(Enterキーを押すとデータチェックが実行され、有効な場合は行がコミットされ、次の行の最初のテキストボックスにフォーカスされます。Tabキーを押すと次のテキストボックスにフォーカスされます...)。また、データは外部ソースからグリッドにインポートされることが多く、通常は一度に数千のレコードがインポートされます。
現在、新しい行が追加された後にフォーカスを設定するために使用している各テキストボックスにLoadedイベントが接続されています。私の問題は、多くの行をインポートするとグリッドが混乱することです。ユーザーがスクロールすると、Loadedイベントが発生し、グリッドは基本的に使用できなくなります。これを防ぐために仮想化を無効にしましたが、特定の構成でグリッドが1ギガのRAMを使用していることがわかりましたが、これは許容できません。大量のメモリを使用せずに、このグリッドを必要な方法で機能させる方法を理解することはできません。新しく追加された行内でテキストボックスにフォーカスできるようにする必要があるように見えますが、データ検証はビューモデルで実行されるため、コードビハインドの新しい行にアクセスできないため、 「newtextbox.focus()」などを呼び出します。私はここでかなり必死になっています、