private void AddFieldView(int currRow, IViewComponent childView, ViewBuildersCollection viewBuilders) { if (childView.UiHint == "RowsPanel") { var newCtrl = new RowsPanelView(); newCtrl.SetViewComponent((IPanelViewModel)childView, viewBuilders); Grid.SetRow(newCtrl, currRow); Grid.SetColumn(newCtrl, 1); Grid.SetColumnSpan(newCtrl, 4); ChildrenViewsContainer.Children.Add(newCtrl); } else { var viewBuilder = viewBuilders.GetBuilder(childView.UiHint); if (viewBuilder != null) { var newCtrl = viewBuilder.ViewFactory(childView); if (newCtrl != null) { Grid.SetRow(newCtrl, currRow); Grid.SetColumn(newCtrl, 1); if (childView.UiHint == "PivotGridList") { Grid.SetColumnSpan(newCtrl, 4); } ChildrenViewsContainer.Children.Add(newCtrl); } } } }
private static UserControl CreateField(IViewComponent childView, ViewBuildersCollection viewBuilders, Grid ChildrenViewsContainer) { UserControl newCtrl; if (childView.UiHint == "RowsPanel") { newCtrl = new RowsPanelView(); ((RowsPanelView)newCtrl).SetViewComponent((IPanelViewModel)childView, viewBuilders); ChildrenViewsContainer.Children.Add(newCtrl); } else if (childView.UiHint == "ColumnsPanel") { newCtrl = new ColumnsPanelView(); ((ColumnsPanelView)newCtrl).SetViewComponent((IPanelViewModel)childView, viewBuilders); ChildrenViewsContainer.Children.Add(newCtrl); } else { newCtrl = viewBuilders.GetBuilder(childView.UiHint).ViewFactory(childView); if (newCtrl != null) { ChildrenViewsContainer.Children.Add(newCtrl); } } return(newCtrl); }