在標準的WinForms開發我會做到以下幾點:如何獲得一個列表控件在一個組框在WPF
foreach (Control in groupBox1.Controls)
{
MessageBox.Show(c.Name);
}
如何做一個人做在WPF?我在GroupBox內部有一個Grid和一些網格中的控件(按鈕等),但似乎無法弄清楚如何獲得每個控件。
在標準的WinForms開發我會做到以下幾點:如何獲得一個列表控件在一個組框在WPF
foreach (Control in groupBox1.Controls)
{
MessageBox.Show(c.Name);
}
如何做一個人做在WPF?我在GroupBox內部有一個Grid和一些網格中的控件(按鈕等),但似乎無法弄清楚如何獲得每個控件。
正如MSDN建議的,您將需要迭代控件作爲GroupBox
的子項。另外,請注意,您通常需要將Grid
添加到您的GroupBox
中,以便能夠將新控件添加到該GroupBox
中。所以,你需要得到Grid
的孩子在GroupBox
和遍歷它們,像這樣:
//iterate through the child controls of "grid"
int count = VisualTreeHelper.GetChildrenCount(grid);
for (int i = 0; i < count; i++)
{
Visual childVisual = (Visual)VisualTreeHelper.GetChild(grid, i);
if (childVisual is TextBox)
{
//write some logic code
}
else
{
}
}
您可能會發現這個有用:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/93ebca8f-2977-4c36-b437-9c82a22266f6
而不是.Controls
,你會尋找.Children
屬性。
此外,這將只返回一階子女。如果你真的想要GroupBox
的所有後代,你會想遞歸查找所有控件的所有子元素。
-1這個答案是錯的。 GroupBox不包含Children屬性。 – virious 2013-11-22 11:07:47
簡單的代碼會是這樣的
foreach (Control control in Grid.Children)
{
//Code here for what you want to do.
}
我應該使用Visual而不是Control來更精確.. – Derar 2009-10-01 18:21:44