private void UCMultiLanguageMaintain_Loaded(object sender, RoutedEventArgs e) { facade = new MultiLanguageMaintainFacade(CPApplication.Current.CurrentPage); MultiLanguageDataContract multiLanguageData = new MultiLanguageDataContract(); multiLanguageData.SysNo = SysNo; multiLanguageData.BizEntityType = BizEntityType; facade.QueryMultiLanguageBizEntity(multiLanguageData, (s, args) => { if (args.FaultsHandle()) { return; } List <MultiLanguageBizEntity> multiLanguageBizEntities = args.Result; MappingTable = multiLanguageBizEntities[0].MappingTable; for (int i = 0; i < multiLanguageBizEntities.Count; i++) { LanguageExpander expander = new LanguageExpander(multiLanguageBizEntities[i], i, facade); LayoutRoot.Children.Add(expander); } }); }
public LanguageExpander(MultiLanguageBizEntity entity, int index, MultiLanguageMaintainFacade _facade) { TbLabelsList = new List <TextBlock>(); TxtValueList = new List <TextBox>(); TextBlock tbLabel; TextBox txtValue; languageBizEntity = entity; this.facade = _facade; this.IsExpanded = true; this.Header = entity.LanguageName; Grid.SetRow(this, index); rootGrid = new Grid(); rootGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); rootGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto }); rootGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(560) }); rootGrid.Margin = new Thickness(20, 5, 20, 5); #region 根据属性创建TextBlock+TextBox for (int i = 0; i < entity.PropertyItemList.Count; i++) { rootGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); var item = entity.PropertyItemList[i]; if (item.InputType.Equals("S")) { txtValue = new TextBox() { Tag = item.Field, MaxLength = item.MaxLength }; } else { txtValue = new TextBox() { AcceptsReturn = true, VerticalScrollBarVisibility = ScrollBarVisibility.Visible, TextWrapping = TextWrapping.Wrap, Tag = item.Field, HorizontalAlignment = HorizontalAlignment.Stretch, MaxLength = item.MaxLength, Height = 80 }; } if (String.IsNullOrWhiteSpace(item.Value)) { txtValue.Text = String.Empty; } else { txtValue.Text = item.Value; } tbLabel = new TextBlock() { Text = item.Label, HorizontalAlignment = HorizontalAlignment.Right, Tag = item.IsRequired, Height = 20 }; if (item.IsRequired.Equals("Y")) { tbLabel.Text = "*" + tbLabel.Text; } Grid.SetRow(tbLabel, i); Grid.SetRow(txtValue, i); Grid.SetColumn(tbLabel, 0); Grid.SetColumn(txtValue, 2); rootGrid.Children.Add(tbLabel); TbLabelsList.Add(tbLabel); rootGrid.Children.Add(txtValue); TxtValueList.Add(txtValue); rowCount++; } #endregion #region 创建保存按钮 rootGrid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto }); Button saveButton = new Button(); saveButton.Click += new RoutedEventHandler(btnSave_Click); saveButton.HorizontalAlignment = HorizontalAlignment.Right; saveButton.VerticalAlignment = VerticalAlignment.Top; saveButton.Height = 20; saveButton.Width = 60; saveButton.Content = "保存"; Grid.SetRow(saveButton, rowCount); Grid.SetColumn(saveButton, 3); rootGrid.Children.Add(saveButton); #endregion this.Content = rootGrid; }