wpfComment obtenir un match one-to-one d'un Adorner avec son élément décoré dans un ScrollViewer?
J'ai un contrôle A, (un inkcanvas), dans une grille dans un ScrollViewer. Conrol A est plus grand que la fenêtre physique, de sorte que ScrollViewer ajoute correctement une barre de défilement verticale et l'ensemble du contrôle peut être consulté en faisant défiler vers le bas. Lorsque vous fixez un Adorner avec un contrôle B, (un autre inkcanvas), pour contrôler A, le défilement vers le bas montre l'Adorner à couper au bas de l'écran. C'est-à-dire que l'Adorner ne recouvre pas complètement l'élément orné et/ou n'est pas étendu vers le bas lors du défilement.
Comment puis-je obtenir l'Adorner (le contrôle) pour couvrir complètement l'élément décoré et respecter le ScrollViewer. (J'ai besoin d'une correspondance un-à-un entre les pixels du contrôle Adorner et l'élément décoré dans le ScrollViewer).
TIA
Edition n ° 1: La ligne clé dans la Adorner qui définit le fond de la InkCanvas est
_inkcanvas.Background = CreateGrid();
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);
}
Si un InkCanvas est utilisé (comme ci-dessus) fond du Adorner est clipsé au fond. Le contrôle adorner, cependant, continue au bas de l'élément orné.
Toutefois, si un canevas est utilisé à la place de l'InkCanvas, l'arrière-plan de l'Adorner s'étend au bas de l'élément orné.
Qu'est-ce qui ne va pas?