0

アプリケーションで使用されるListViewオブジェクトがあります。これは新しいクラスであり、パターンSortableListView : ListViewを使用しています。GridView自動化中に行の非仮想化を可能にするカスタム プロバイダーを追加しました (そのため、リスト内のアイテムを選択する「画面でチェック、いいえ、スクロール、繰り返し」の方法を実行する必要はありません)。それはうまく機能し、画面外のオブジェクトに気付くと、効率的に画面上に表示されます。グリッドは読み取り専用であるため、ListView を使用しているため、DataGrid の編集テンプレートは必要ありません。

ただし、場合によっては (原因を正確に突き止めることはできません)、ControlType が ListView ではなく DataGrid として認識されることがあります。これにより、自動化が中断されます。これを回避する唯一の方法は、グリッドに対処する必要があるたびに、それ自体が DataGrid または ListView として表示されているかどうかを確認する必要があることです。さらに困惑させるのは、テーブルの実際の行には ClassListViewItemがあり、Microsoft が変更していない正確なオブジェクトフォームですが、代わりに DataGrid 行として認識されます。

DataGridUIAutomation がそれを ListView ではなくと判断する理由を知っている人はいますか? これは、ListView から直接継承されているだけです。

4

0 に答える 0