2011-04-11 58 views
8

当构建用于数据输入WPF形式(例如旁边一堆文本框和组合框的一堆标签),我已经看到了两种方法:在WPF中构建数据输入表单的最佳方法?

  • 创建主电网,把它分成两列,并为每个字段添加Height="auto"行,为页眉和页脚(和提交按钮)添加两行,每个标签和文本框都有自己的行。
  • 另一种方法是创建一个主堆栈面板,并在其内部为每一对标签文本框设置一个水平堆栈面板。

您如何设计数据输入表单?我目前在两种方法之间扯上关系,也许还有一种我不知道的替代方法?

编辑:亨克说我应该定义最好的,我认为我最好的意思是最简单的维护,创建,对齐和添加或删除字段从需求变化。

到目前为止,网格更好的唯一标准是易于对齐。

+3

“最佳方法”要求的标准。 – 2011-04-11 19:29:09

回答

2

绝对第一种方法!

它很好地对齐,特别是使用SharedSizeGroup,因此您可以在不同的Groupbox中使用相同的对齐方式。

+0

我同意。当你决定稍后让它看起来不错时,StackPanels几乎不会提供给你几乎所需的布局控制量,或者如果你需要在某个地方需要第二部分的场地时,你可能需要的布局控制量。只要确保保持Tab键顺序不变,并确保在布局时经常用真实数据进行测试。 – djdanlib 2011-04-11 21:36:06

1

我已经使用这两个,它真的取决于你的形式将如何看待。如果你有一个非常简单的布局,你将有标签和相应的字段大小相同的大小,那么你的第一个方法运行良好。它可以让你创建两列,排列非常好。然而,如果你的领域有着不同的想法和高度,并且你想要更复杂的布局,那么混合的方法可能是最好的。如果你正在做的比在基本控件上标记字段更复杂,你可能想创建用户控件而不是仅仅使用开箱即用的东西。当以水平和垂直参差不齐的方式布置字段时,很难维护网格布局,因为您必须结束具有许多列和行的网格。字段和标签必须跨越列和行才能正确对齐。这是有效的,但如果你想重新组织表单,这是一场噩梦。

对于你所写的,听起来像第一种方法是最好的。如果它现在简单并且将来会变得更加复杂,那么它很容易改变。但是,如果您已经有了更复杂的布局,那么纯粹基于网格的方法可能并不是最好的。

相关问题