2009-01-16 70 views

回答

18

如果你需要水平和垂直排列的東西,你應該使用網格。當這些東西不需要與其他東西對齊時,使用StackPanel創建一行或一列東西。

但是,不要只限於這兩種選擇。特別是,看看DockPanel。它比StackPanel稍微複雜一些,但它的標記不像Grid那麼混亂。下面是對DockPanel中的好文章:

Using the DockPanel in Silverlight 2

-1

我對這樣的佈局沒有經驗,但我敢打賭,與大量嵌套堆棧面板相比,網格更容易渲染。

3

您使用的容器應該基於內容而不是一種方法是否比另一種更好。如果你需要水平和垂直排列的東西,你應該使用網格。但除此之外,這取決於您打算展示的內容。

1

我認爲網格是一個更好的主意。我通常使用Grid來設置總體佈局,並在這裏和那裏使用一些堆棧面板來做一些特定的事情。我也有一種感覺,網格的性能更好,網格通常會給你更多的靈活性。

1

我不認爲電網是一個更好的主意。

例如,如果要插入一行到現有電網布局的文檔(中)

有exising行1,2,3,4,則要求是插入1之間,新行2.

,那麼你不得不改變2,3,4,以3,4,5(找到所有標籤的變化....)

想一想如果一排有3 - 5列...對所有數字進行重新排序是一項骯髒的工作。

0

我更喜歡StackPanel,因爲我發現插入新元素,行或列時更容易進行更改。有了網格,你需要讀取行號和列號來找出你的位置。使用StackPanel,您只需按照嵌套進行操作,這比網格更容易,也更簡單。例如,在一個XAML頁面中,我使用了一個像父網格一樣的水平堆棧面板,那麼如果我需要一個列,我有一個單獨的「垂直」嵌套面板嵌套。這樣一個水平的堆棧面板成爲「網格」,嵌套的垂直堆棧面板成爲列。我發現這更容易閱讀和修改網格中的行和列。