0

現在、私は一見単純な問題に悩まされています。その自動化された GUI テストについてです。

ScrollIntoView(row) を使用してスクロールし、その直後に行/セルにアクセスすることで、WPF DatGrid の行/セルを完全に表示したいと考えています。残念ながら、ScrollViewer でのスクロールは非同期で行われるようです。これは、行/セルにアクセスする前に、スクロールが完了するのを待つ必要があることを意味します。この目的のために、サブスクライブできる ScrollChanged イベントを見つけました。

解決できない詳細が 1 つだけあります。アクセスしたい行/セルが既に表示されている場合 (スクロールは必要ありません)、そのイベントが発生せず、アルゴリズムが動かなくなります。ScrollIntoView(row) の呼び出しが実際にスクロールするかどうかを予測する信頼できる方法を見つけることができませんでした。

これを解決する方法はありますか?

4

1 に答える 1

1

レイアウトが更新されていることを確認するには、アイテムを使用する前に電話UIElement.UpdateLayoutしてください。ScrollIntoViewMSDNを引用する

この要素のすべての視覚的な子要素がレイアウト用に適切に更新されるようにします。

于 2013-06-20T12:56:34.357 に答える