10

私は を持ってItemsControlScrollViewerます。のアイテムは、基本的に で構成される にItemsControl展開されます。DataTemplateAdorner

問題は、スクロール時に のビジュアル チルドレンが のAdorner外側に表示されることScrollViewerです。水平オフセット 0 から 100 までスクロールすると、ビジュアル チルドレンがAdorner左に移動し、 の横に表示ScrollViewerされますが、非表示にする必要があります。または の設定ClipToBoundsが機能しない。ItemsControlScrollViewer

Adornerすべての要素の上に z オーダーでレンダリングされることは理解していますが、 ScrollViewer. 途中で飾らElementれた は期待どおりに動作し、 からは見えませんScrollViewer

Adorner表示されているスクロール領域にのみ表示されるように、sを「クリップ」する簡単な方法はありますか?

ありがとう、アンドレイ

4

3 に答える 3

2

WPFToolkit DataGridをサブクラス化して、現在のセルの周囲に装飾を描画するときに、同じ問題が発生しました。

ScrollViewerのコンテンツは、ScrollContentPresenterインスタンスによってレンダリングされます。ScrollContentPresenterには独自の装飾レイヤーがあり、ScrollContentPresenter.AdornerLayerプロパティからアクセスできます。

そのレイヤーに追加すると、装飾者が正しくクリップすることがわかりました。

于 2009-10-26T05:33:24.103 に答える