public void Populate()
 {
     if (AddressDefinition != null && controlCreated)
     {
         ControlCollection coll = AddressDefinition.AddressGrid.Controls;
         Array.ForEach(coll.ToArray(), a => a.ResolveBinding(coll, DataContext));
     }
     else
     {
         deferPopulateFields = true;
     }
 }
        public bool Validate()
        {
            if (AddressDefinition != null && controlCreated)
            {
                List <string>     errors = null;
                ControlCollection coll   = AddressDefinition.AddressGrid.Controls;
                Array.ForEach(coll.ToArray(), a => a.Validate(ref errors));

                //TODO: this actually does nothing!
                displayValidationMessages(errors);

                if (errors.Count > 0)
                {
                    ErrorList = errors;
                    return(false);
                }
                return(!(errors != null && errors.Count > 0));
            }
            return(true);
        }