2010-01-25 48 views
11

在HTML中,通用容器控件是DIV。它本身並沒有做任何事情,但它是一個很好的地方。WPF:什麼是通用容器控件?

同樣在WinForms中,通用容器控件是面板。再次,這是我將用作佔位符來稍後加載其他控件的內容。

WPF應該用什麼?

回答

15

一些比較常用的容器是:

Grid
StackPanel
DockPanel
WrapPanel
Canvas

MSDN Panels Overview見。

+0

要增加這一點,這一切都取決於你需要用這些後來加載的控件。 I. e。他們應該有什麼樣的佈局等等。在其中一種情況下,我使用了Grid。如果你需要加載多個控件,DockPanel可能不是那麼好。 – Joey 2010-01-25 01:54:51

+0

在這種情況下,我希望儘可能少的假設。任何佈局都應該通過加載控件來處理,所以一個控制限制是有意義的。 – 2010-01-25 02:09:01

+0

不是我期待的簡單答案,但那個鏈接是一個非常好的閱讀。 – 2010-01-25 02:11:08

16

我認爲最接近你要找的是ContentControl。它沒有自己的佈局,也沒有默認的用戶界面(除非你將它模板化來完成其中的一個或兩個),但可以採用任何對象,因爲它的屬性(WPF UIElement或其他),並通過一個CLR對象提供任何UI DataTemplate已分配給其ContentTemplate屬性。在這方面,它提供了一個注入其他內容的好地方(如HTML中的div)。它也恰好是許多標準內置控件的基類:Button,ListBoxItemUserControl,Window。因爲它們不能被模板或已通過綁定設置兒童

WPF面板不佔位符以及工作,除了在那裏它們被包含在處理注入綁定的內容其他控制的情況下,如ItemsControl - ItemsPresenter - ItemsPanel關係。