2011-04-11 50 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

我已經使用這兩個,它真的取決於你的形式將如何看待。如果你有一個非常簡單的佈局,你將有標籤和相應的字段大小相同的大小,那麼你的第一個方法運行良好。它可以讓你創建兩列,排列非常好。然而,如果你的領域有着不同的想法和高度,並且你想要更復雜的佈局,那麼混合的方法可能是最好的。如果你正在做的比在基本控件上標記字段更復雜,你可能想創建用戶控件而不是僅僅使用開箱即用的東西。當以水平和垂直參差不齊的方式佈置字段時,很難維護網格佈局,因爲您必須結束具有許多列和行的網格。字段和標籤必須跨越列和行才能正確對齊。這是有效的,但如果你想重新組織表單,這是一場噩夢。

對於你所寫的,聽起來像第一種方法是最好的。如果它現在簡單並且將來會變得更加複雜,那麼它很容易改變。但是,如果您已經有了更復雜的佈局,那麼純粹基於網格的方法可能並不是最好的。

相關問題