1

我正在为自定义控件实现 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 的覆盖,标签会在我使用滚动条时出现并滚动。

关于我缺少什么的任何想法?

4

1 回答 1

0

找到它,我的 ArrangeOverride 在 UserControl 上,我专门只安排标签,画布没有安排(即未设置位置和大小)。现在,由于标签在画布中,因此您看不到它。

于 2012-06-12T14:06:09.600 回答