2011-05-16 49 views
2

我試圖實現類似於Popup的功能,不使用Popup,而是用基本裝飾者裝飾我的ContentControl。基本上,我希望ContentControl具有「覆蓋」效果,因此它是最頂層的對象,高於所有其他元素 - 與Popup控件的類似。WPF Adorner Overlay問題

這裏是我遇到的問題,我希望有人能指出我要去的地方錯了:

我有兩個行定義一個獨立電網。第一行包含一個UI元素 - 例如,一個矩形。第二行包含我開發的自定義控件,用於模擬滑出的「抽屜」的功能。基本上,當我點擊按鈕時,我將製作一個TranslateTransform動畫,以將我的ContentControl「向上滑動」。這工作正常 - 除了它在網格的第一行中的rectange下被裁剪。如果我刪除網格中的行定義,那麼當達到期望的行爲時 - ContentControl將被移動到「向上」並且部分地移到矩形的「頂部」。這個矩形只是我想要實現的一個地方。我基本上想要一個抽屜類型控件,可以滑出,並在所有其他控件的頂部。

我對使用Adorner類有點新,所以我希望有人能指出我要出錯的地方。

謝謝。

Chris

+0

你能否詳細說明爲什麼你不能使用Popup爲此? – aL3891 2011-05-16 12:05:50

+0

當然。假設我想創建從窗口底部向上滑動的抽屜的外觀。如果我使用彈出窗口,只要將IsOpen設置爲true,內容就會變得可見,因爲它不考慮窗口邊界,所以它不會再像從窗口底部向上滑動一樣。 – Chris 2011-05-16 12:11:36

+2

如果將彈出窗口的高度設置爲零並將其設置爲全尺寸,該怎麼辦?您可以在彈出窗口中的佈局面板上設置固定高度,以便不調整大小,而是使用彈出窗口進行剪輯。值得拍攝至少:) – aL3891 2011-05-16 13:26:31

回答

0

將adorner的父母更改爲完整的網格,而不僅僅是您的控件。如果將控件放在網格行中,並將裝飾器設置爲裝飾該控件,則通常會將該控件剪裁到該行,因爲該控件是。