2009-01-16 71 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页面中,我使用了一个像父网格一样的水平堆栈面板,那么如果我需要一个列,我有一个单独的“垂直”嵌套面板嵌套。这样一个水平的堆栈面板成为“网格”,嵌套的垂直堆栈面板成为列。我发现这更容易阅读和修改网格中的行和列。