複数の ListView を含む WPF アプリケーションを開発しています。すべてのビューにはボタンがあり、ユーザーはそれを押して、ビュー内の項目を処理する機能を開始できます。多くの場合、アイテム数は数千単位になり、処理に数分かかる場合があります。
ここで、現在処理中のアイテムを選択してスクロールし、ユーザーが処理された量を把握できるようにします。これにより、ユーザーは、エラーが発生した場合に処理が停止する原因となるアイテムを選択したときに、そのアイテムを簡単に知ることができます。
これを行うために、ListView の SelectedIndex を ScrollRow プロパティにバインドし、処理関数で設定しました。次に、SelectionChanged イベントを使用して、選択した項目までスクロールします。このイベントは、選択した項目で ScrollToView を呼び出す関数を実行します。
私のウィンドウには多くのビューが含まれているため、ビューを含むメイン ウィンドウにスクロールバーが表示されることがよくあります。問題は、ビューの行で ScrollToView を呼び出すと、ユーザーがウィンドウのさらに下にある別のビューを見たいときに、メイン ウィンドウもこのビューにスクロールすることです。
スクロール位置を直接設定することを検討しましたが、それを行う方法が見つかりませんでした。
ウィンドウ内のビューがスクロールするときにウィンドウがスクロールしないようにするにはどうすればよいですか?