wpfAdornerとScrollViewer内の飾られた要素との1対1の一致を取得するにはどうすればよいですか?
私はScrollViewer内のグリッド内にコントロールA(inkcanvas)を持っています。 Conrol Aは物理ウィンドウよりも背が高いので、ScrollViewerは垂直スクロールバーを正しく追加し、スクロールダウンすることでコントロール全体を表示することができます。コントロールB(別のインクキャンバス)を持つAdornerをコントロールする場合、Aを制御するために、下方向にスクロールするとAdornerが画面の下部に表示されます。すなわち、Adornerは、装飾された要素を完全に覆っていない、および/またはスクロール中に下方に拡張されていない。
Adorner(コントロール)は、飾られた要素を完全に覆い、ScrollViewerを尊重する方法を教えてください。 (私は、AdornerコントロールのピクセルとScrollViewer内の装飾された要素との間に1対1のマッチングが必要です)。
TIAは
編集#1:InkCanvasの背景を設定Adornerにキー行が
_inkcanvas.Background = CreateGrid()です。 InkCanvasは、(上記のように)使用される場合
public InkCanvasTextAdorner(InkCanvas element)
: base(element)
{
_element = element;
_visuals = new VisualCollection(this);
_inkcanvas = new InkCanvas();
_inkcanvas.Background = CreateGrid();
_visuals.Add(_inkcanvas);
AdornerLayer adornerLayer = AdornerLayer.GetAdornerLayer(element);
adornerLayer.Add(this);
}
Adornerの背景は、底部にクリップされます。しかし、アドナーコントロールは、装飾された要素の最後まで続きます。
ただし、InkCanvasの代わりにCanvasを使用した場合、Adornerの背景は、装飾された要素の下部まで拡張されます。
どういうところが間違っていますか?