4

現在、部分的にしか表示されていないアイテムをクリックするたびにスクロールする WPF ListView があります。コントロールがそのアイテムをスクロールして表示されないようにするにはどうすればよいですか (代わりに、部分的に表示されているアイテムを選択するだけです)。この動作は、このコントロールからドラッグを行うときに非常に厄介です。

ありがとう。

追加: コントロールが完全に表示されていないと判断したコンテンツがクリックされたときに、コントロール自体がスクロールしないようにするソリューションを探しています。多くの場合、これは数ピクセル単位であり、スクロールは必要ありません。

4

3 に答える 3

6

リスト アイテムのクリック時の既定の動作では、BringIntoView() が呼び出されるため、アイテムがスクロールして表示されます。RequestBringIntoView イベントのイベント ハンドラーを追加して、ListViewItems から ScrollViewer にバブルアップする前にキャッチできます。ハンドラーで、表示領域に対するセンダーの境界を確認し、スクロールする必要がないと判断した場合は、イベントの Handled フラグを true に設定します。

于 2008-10-17T04:33:50.160 に答える
1

私は現在外出中なので、これを試すことはできませんが、MSDN の ScrollViewer の概要で提案されているように、CanContentScroll で遊んだり、スクロール可能なコンテンツを Panel にラップしたりしてみましたか?

最悪の場合、ハッキングされた ScrollViewer の を "fuzz" 要素 (イベントをキャプチャするなど)ListViewに置き換えたいと思うかもしれません。ItemsPanelRequestBringIntoView

于 2008-10-20T13:42:33.310 に答える
0

このアプローチを試しましたか?

アドオンとして、この件についてあなたがどれだけ知っているかはわかりませんが、ここはそれについてもっと読むのに適した場所です.

追加した:

マウスホイールのスクロールも防止できることがわかりました。

于 2008-10-16T18:39:54.070 に答える