2010-12-06 91 views
2

我需要動態生成一個「方塊」(例如2x2,3x3等)的矩形矩陣,每個矩陣包含一個文本框和一個按鈕。這些框和文本也將根據窗口大小調整大小。我可以使用stackPanel,datagrid或dockpanel來解決這個問題嗎?它們的優缺點是什麼?感謝您的任何建議。StackPanel vs DataGrid與WPF中的DockPanel

由WPF,VS2010開發。

回答

6

我會用網格控件來處理它。如果您也告訴它,網格內的列和行將根據網格的大小自動調整大小。此外,網格會自動填充它們放置的區域,這聽起來就像你在做什麼。

堆疊面板不是很靈活。基本上只是把一個項目放在另一個項目旁邊,沒有自動調整大小。

如果您的內容應該固定在側面,並且其他一些內容適用於中心,則停靠面板非常適合。

6

UniformGrid面板上獲得戰利品。

+0

UniformGrid不能拿比孩子多,不像網... – KMC 2010-12-14 13:51:29

2

當您有一定數量的物品需要彼此連接時,Stackpanels很有用。動態添加項目時使用起來非常簡單並且非常有效,但它很簡單,意味着它實際上沒有任何調整大小的功能。

當將幾個不同的物品放置並組織到一個窗口上時,尤其是在將物品固定到頂部,底部,左側,右側然後裝配到中心的其餘空間時,DockPanels非常有用(我最近發現它們很安靜方便與擴展器一起使用時)。沒有真正的缺點,很可能對你有效。

如果你不需要動態改變佈局,我會建議網格控件將是你最好的選擇,但你可以將網格分割成你需要的矩陣。對每一邊使用星號(*)意味着所有的盒子將均勻地重新調整大小以適合您擁有的窗口。功能是有限的,但根據您的要求,網格會覆蓋它。

上佈局有用的教程可以發現here.