2012-05-25 146 views
1

我正在为自定义控件实现ISrollInfo接口。简而言之,我在Canvas下的自定义控件中有一个标签。当我的自定义控件滚动时,我希望标签“保持原位”。也就是说,无论滚动偏移量如何,标签都必须始终可见。现在WPF IScrollInfo标签的固定位置

,作为一个测试,我添加了这个示例代码

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的覆盖,则标签出现并在我使用滚动条时滚动。

任何想法我缺少什么?

+0

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

回答

0

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