2011-11-04 147 views
0

我寫了一個WPF控件,它接受許多UIElement對象作爲輸入,並顯示它們垂直或水平停靠。該控件公開了用於枚舉,刪除和插入子項的函數,但是在內部,我使用網格來構建佈局,爲每個項目創建一個行/列並在它們之間插入一個GridSplitter。要做到這一點,我已經繼承了ContentControl,並且在初始化時我只是使用Grid來設置Content屬性。一切都按預期工作,但是現在我想知道這是否會讓我的控件用戶感到困惑,因爲擁有多個項目的ContentControl是違反直覺的。我應該繼承哪些WPF控件?

應該從ItemsControl繼承嗎? 我應該直接從「內容不可知」的Control繼承嗎? 有沒有更好的方法來做到這一點?

在此先感謝。

回答

4

你所描述的聽起來像一個Panel - 基本上是一個負責許多元素佈局的控件。我會考慮從此繼承。

+0

同意。 Panel具有接受任意數量的孩子而不僅僅是像ContentControl這樣的單個孩子的額外好處。 –