2012-05-25 97 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上,我專門只安排標籤,畫布沒有排列(即未設置位置和大小)。現在,由於標籤在畫布中,因此您無法看到它。