2015-11-05 30 views
0

我有一個自定義的面板實現,呈現對象相對於物理空間(想像一個平面圖)。該面板可以採取以下行動:如何在沒有裁剪孩子的情況下擁有「ClipToBounds」面板?

  • 放大/縮小
  • 攀上/下/左/右
  • ,更是不相關的這個問題

面板的生活與屏幕上的其他幾個元素一起使用,我需要確保自定義面板的圖形不會超出導航和其他控件。

問題是這樣的:

如果面板被設置爲夾,它夾住孩子前安排他們。

比方說,我在樓層平面圖的圓和用戶放大足以讓圓比父控件更大。面板將裁剪應用於圓,就好像它放置在死點一樣,然後將圓放置在應該是的位置。最終的結果是,圓不再看起來像一個圓圈,我有圖像中的空白。

我需要應用剪輯排列元素,或者僅應用於由孩子編譯的整個圖像。我怎樣才能做到這一點?

回答

0

事實證明,我有哪裏ClipToBounds = "Maybe"

如果我重寫我的控制GetLayoutClip()方法和返回null問題的任擇議定書曾在他信WPF博士相反的問題,我基本上是關閉夾閉元素。但是,由於ClipToBounds對於我的面板仍然是正確的,所以呈現的項目不會溢出應用程序的其餘部分。

在爲將要添加到我的自定義面板的所有項目的基類我有這樣的:

protected override Geometry GetLayoutClip(Size layoutSlotSize) 
{ 
    return null; 
} 

在我而言,這正是我想要的。我真的希望我的佈局剪輯基於父面板而不是子尺寸(在面板內沒有位置感)。

相關問題