【发布时间】:2015-01-04 19:43:23
【问题描述】:
我将构建一个输入矩阵 - 五列三行。每个输入由两个元素组成:一个标签和一个输入框(或者可能是日期选择器等,没什么复杂的)。不过,我无法在标记之间做出决定。
选项 #1 是 5 x 6(每行是标签行或文本框行)。选项 #2 是在网格上使用 5 x 3,并且在每个单元格中都有一个 1 x 2 的网格(或者可能是堆栈面板等)。
- 选项 #1 或 #2 是最佳做法吗?
- 堆栈面板是正确的选择吗?
【问题讨论】:
我将构建一个输入矩阵 - 五列三行。每个输入由两个元素组成:一个标签和一个输入框(或者可能是日期选择器等,没什么复杂的)。不过,我无法在标记之间做出决定。
选项 #1 是 5 x 6(每行是标签行或文本框行)。选项 #2 是在网格上使用 5 x 3,并且在每个单元格中都有一个 1 x 2 的网格(或者可能是堆栈面板等)。
【问题讨论】:
我会在每个单元格 StackPanel 或 Grid 中使用 5x3 网格。这取决于您的应用程序应如何与用户交互(例如,如果大小更改等)。
Grid 定义了一个由列和行组成的灵活的网格区域。如果使用按比例调整大小或自动调整大小,这可能是性能最密集的面板。计算子项大小可以是项的本机大小和网格指定的布局的复杂组合。布局也是所有面板中最复杂的。测量传递的性能慢到中等,排列传递的性能慢到中等。
StackPanel 将子元素排列成可以水平或垂直定向的单行。 StackPanel 使用与其方向相反的方向上的本机或相对大小以及在其方向上的本机大小来测量其子项(对齐在此方向上不执行任何操作)。这使其成为该领域的中级执行者。安排通行证很简单,只是按顺序排列项目。可能是本次传球的第二好的表现。测量传递的中等性能和布局传递的快速性能。
【讨论】: