如何在WPF中获取组框中的控件列表

Dou*_*son 2 .net c# wpf groupbox wpf-controls

在标准的WinForms开发中,我将执行以下操作:

foreach (Control in groupBox1.Controls)
{
     MessageBox.Show(c.Name);
}
Run Code Online (Sandbox Code Playgroud)

一个人在WPF中如何做到这一点?我在GroupBox中有一个Grid和网格中的一些控件(按钮等),但似乎无法弄清楚如何获得每个控件.

Der*_*rar 6

正如MSDN建议的那样,您需要将控件作为子项进行迭代GroupBox.此外,请注意,你通常需要添加Grid到您GroupBox要能新控件添加到该GroupBox.所以,你需要得到的孩子GridGroupBox和遍历它们,像这样:

//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
               {

               }
            }
Run Code Online (Sandbox Code Playgroud)

你可能会觉得这很有用:http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/93ebca8f-2977-4c36-b437-9c82a22266f6