Конечно, вы должны знать, какое свойство вы хотите, но вы можете проверить, хотя, вероятно, у вас должен быть какой-то шаблон ОО, заботящийся о поведении, вместо если каждый элемент управления
public string GetValue(Control x)
{
if (x is TextBox) return ((TextBox) x).Text;
if (x is ComboBox) return ((ComboBox)x).SelectedValue.ToString();
if (x is Label) return ((Label)x).Content .ToString();
//...
}
foreach (Control x in theGrid.Children)
{
string field = GetValue(x);
//[...]
}