我正在为自定义控件实现 ISrollInfo 接口。简单地说,我在 Canvas 下的自定义控件中有一个标签。当我的自定义控件滚动时,我希望标签“保持原位”。也就是说,无论滚动偏移如何,标签都需要始终可见。
现在,作为测试,我添加了这个示例代码
protected override Size MeasureOverride(Size constraint)
{
return new Size(1000, 50);
}
protected override Size ArrangeOverride(Size arrangeBounds)
{
double x = 50;
double y = 50;
label1.Arrange(new Rect(new Point(x, y), new Size(1000, 50)));
return arrangeBounds;
}
当我测试控件时(我的控件放在 ScrollViewer 中),标签被隐藏(在我使用滚动条之前和之后)。如果我删除了 ArrangeOverride 的覆盖,标签会在我使用滚动条时出现并滚动。
关于我缺少什么的任何想法?