wpf如何在ScrollViewer中將裝飾元素與裝飾元素進行一對一匹配?
我有一個控件A,(一個inkcanvas),在ScrollViewer中的一個Grid內。 Conrol A高於物理窗口,因此ScrollViewer可以正確添加垂直滾動條,並且可以通過向下滾動來查看整個控件。當用控制器B(另一個噴墨器)連接裝飾器時,爲了控制A,向下滾動顯示裝飾器在屏幕底部被切斷。也就是說,裝飾者並不完全覆蓋裝飾元素,並且/或者在滾動時不向下延伸。
如何讓裝飾者(控件)完全覆蓋裝飾元素並尊重ScrollViewer。 (我需要在Adorner控件的像素和ScrollViewer中的裝飾元素之間進行一對一的匹配)。
TIA
編輯#1:在裝飾器的關鍵線,用於設置InkCanvas的背景是
_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);
}
如果InkCanvas被使用(如上述)的裝飾器的背景在底部被限幅。然而,裝飾者控件會繼續到裝飾元素的底部。
但是,如果使用Canvas而不是InkCanvas,則Adorner的背景確實會擴展到裝飾元素的底部。
怎麼了?