public void Build() { Result = new PropertyMapPresenter(); Result.Parent = null; TextFieldPresenter orgNameFieldPresenter = new TextFieldPresenter(); orgNameFieldPresenter.FormatString = "Org Name: {0}"; Result["OrgNamePresentation"] = orgNameFieldPresenter; AddFieldBinding(orgNameFieldPresenter, "OrgName"); CollectionPresenter studentsPresenter = new CollectionPresenter(); Result["StudentsPresenter"] = studentsPresenter; AddCollectionBinding(studentsPresenter, "People"); }
PropertyMapPresenter GetPersonMap(Person person) { PropertyMapPresenter result = new PropertyMapPresenter(); result["FirstName"] = new TextFieldPresenter { TheValue = person.FirstName, FormatString = "FirstName: {0}" }; result["LastName"] = new TextFieldPresenter { TheValue = person.LastName, FormatString = "LastName: {0}" }; return result; }
void AddFieldBinding(TextFieldPresenter fieldPresenter, string propName) { OneWayPropertyBindingWithPath fieldBinding = new OneWayPropertyBindingWithPath(); fieldBinding.SourceObj = TheOrganization; fieldBinding.SourcePathLinks = new List<BindingPathLink<object>> { new BindingPathLink<object>(propName) }; fieldBinding.TargetObj = fieldPresenter; fieldBinding.TargetPathLinks = new List<BindingPathLink<object>> { new BindingPathLink<object>("TheValue") }; fieldBinding.Bind(); TheBindingsAProp.SetProperty(fieldPresenter, fieldBinding); }