2012-03-23 21 views
0

(50元左右),我有一個WPF頁上的一個相當大的形式。我把它放在一個網格上,但所有元素都混亂在頁面上。我想我會將表單拆分成更小的用戶控件,然後將其作爲一個表單整合在頁面上。這並沒有工作:SharedSizeScope on a Grid makes the form 'dance'問題有一個大的形式在WPF

我可以分解成一個'嚮導風格'頁面的形式,與下一個按鈕 - 處理每個用戶控制自己,但我寧願不把它分解成幾頁,因爲最終用戶習慣於把它全部放在一個頁面上。此外,數據的驗證/存儲實際上是一個大爆炸式的操作,如果在第一頁/用戶控制之一中出現錯誤,則難以提供反饋。

那麼現在呢?我真的很想將所有的小元素直接放在一個大網格的頁面上。我只是覺得這是錯誤的 - 這將是一個維修噩夢 - 我甚至開始想'我希望有某種'xaml'區域標籤' - 這意味着我知道我錯了;)

什麼可以我做?

+0

當我有形式,有很多的控制我通常做的是他們GroupBoxes或安排的TabItems。 – SvenG 2012-03-23 08:51:15

回答

2

我會強烈建議使用更多的網格等內部嵌套容器控件,比如網格(或其他小組)其它網格內

這是非常常見的有幾個嵌套級,並因此被分層地劃分一個複雜的佈局分成多個不太複雜的子佈局。與一個試圖完成這一切的大容器相比,這使得您的佈局更簡單(請參閱您的失敗的ShardSizeScope方法)。

一旦你創建容器的一個明智的層次,你可以很容易地使用Visual Studio XAML編輯器的代碼摺疊功能,讓您所有的XAML的軌道。

+0

但是,如何讓我的頁面不會膨脹?你認爲我應該仍然創建大量的用戶控件(每個都有自己的網格),並將它們放在網格中的頁面上?不知我最終會遇到與對齊細胞相同的問題嗎? – 2012-03-23 10:25:25

+0

爲什麼選擇UserControls?只需將一些面板中的幾個元素分組,另一個面板中的其他元素很少,等等。然後將這些面板再次分組到其他面板中,從而創建面板的層次結構。腹脹是什麼意思?要麼你需要在一個窗口/窗體/頁面中包含所有元素,或者不要。 – Clemens 2012-03-23 10:43:03

+0

我同意克萊門斯,我的主要應用程序包含約2000的控制,但在不同的面板分組,它不是很難維持 – mlemay 2012-03-23 11:44:13