private void renderTopCriteriaEntries() { int left = 10; int width = 200; ArrayList entries = criteria.TopCriteriaEntries; foreach (CCriteriaEntry en in entries) { if (en.Type == CriteriaEntryType.ENTRY_LABEL) { Label label = new Label(); Binding myBinding = new Binding(); myBinding.Source = CTextLabel.Instance; myBinding.Path = new PropertyPath(en.CaptionKey); BindingOperations.SetBinding(label, Label.ContentProperty, myBinding); label.VerticalAlignment = VerticalAlignment.Center; label.VerticalContentAlignment = VerticalAlignment.Center; label.HorizontalContentAlignment = HorizontalAlignment.Left; label.Margin = new Thickness(left, 0, 0, 0); pnlCriteriaTop.Children.Add(label); } else if ((en.Type == CriteriaEntryType.ENTRY_DATE_MIN) || (en.Type == CriteriaEntryType.ENTRY_DATE_MAX)) { UDatePicker dt = new UDatePicker(); Binding myBinding = new Binding(); myBinding.Source = DataContext; myBinding.Path = new PropertyPath(en.FieldName); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(dt, UDatePicker.SelectedDateProperty, myBinding); dt.HorizontalAlignment = HorizontalAlignment.Left; dt.VerticalAlignment = VerticalAlignment.Center; dt.VerticalContentAlignment = VerticalAlignment.Center; dt.Margin = new Thickness(left, 0, 0, 0); dt.Width = width; pnlCriteriaTop.Children.Add(dt); } } }
private UDatePicker createDatePicker(CCriteriaEntry en, double l, double t, double r, double b, double w) { UDatePicker dt = new UDatePicker(); Binding myBinding = new Binding(); myBinding.Source = DataContext; myBinding.Path = new PropertyPath(en.FieldName); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(dt, UDatePicker.SelectedDateProperty, myBinding); dt.HorizontalAlignment = HorizontalAlignment.Left; dt.VerticalAlignment = VerticalAlignment.Center; dt.VerticalContentAlignment = VerticalAlignment.Center; dt.Margin = new Thickness(l, 0, 0, 0); dt.Width = w; dt.IsEnabled = en.IsEnable; return(dt); }
private void renderCriteriaEntries() { //pnlCriteria int left = 5; int width = 200; ArrayList entries = criteria.CriteriaEntries; foreach (CCriteriaEntry en in entries) { if (en.Type == CriteriaEntryType.ENTRY_LABEL) { Label label = createLabel(en, left, 0, 0, 0); pnlCriteria.Children.Add(label); } else if (en.Type == CriteriaEntryType.ENTRY_TEXT_BOX) { TextBox tbx = createTextBox(en, left, 0, 0, 0, width); pnlCriteria.Children.Add(tbx); } else if ((en.Type == CriteriaEntryType.ENTRY_DATE_MIN) || (en.Type == CriteriaEntryType.ENTRY_DATE_MAX)) { UDatePicker dt = createDatePicker(en, left, 0, 0, 0, width); pnlCriteria.Children.Add(dt); } else if (en.Type == CriteriaEntryType.ENTRY_CHECK_BOX) { CheckBox cbx = createCheckBox(en, left + 10, 0, 0, 0, width); pnlCriteria.Children.Add(cbx); } else if (en.Type == CriteriaEntryType.ENTRY_COMBO_BOX) { ComboBox cbo = createComboBox(en, left, 0, 0, 0, width); pnlCriteria.Children.Add(cbo); } } }
private void renderInfoEntries() { ColumnDefinition cd1 = new ColumnDefinition(); cd1.Width = new GridLength(15, GridUnitType.Auto); grdInfo.ColumnDefinitions.Add(cd1); ColumnDefinition cd2 = new ColumnDefinition(); cd2.Width = new GridLength(65, GridUnitType.Star); grdInfo.ColumnDefinitions.Add(cd2); ColumnDefinition cd3 = new ColumnDefinition(); cd3.Width = new GridLength(20, GridUnitType.Star); grdInfo.ColumnDefinitions.Add(cd3); int left = 10; int width = 300; int row = 0; //Count row by label Boolean labelCreated = false; ArrayList entries = criteria.InfoEntries; foreach (CCriteriaEntry en in entries) { if (en.Type == CriteriaEntryType.ENTRY_LABEL) { RowDefinition rd = new RowDefinition(); rd.Height = new GridLength(45, GridUnitType.Auto); grdInfo.RowDefinitions.Add(rd); Label label = createLabel(en, left, 0, 0, 5); Grid.SetColumn(label, 0); Grid.SetRow(label, row); grdInfo.Children.Add(label); labelCreated = true; } else if (en.Type == CriteriaEntryType.ENTRY_TEXT_BOX) { TextBox tbx = createTextBox(en, left, 0, 0, 5, width); Grid.SetColumn(tbx, 1); Grid.SetRow(tbx, row); grdInfo.Children.Add(tbx); } else if ((en.Type == CriteriaEntryType.ENTRY_DATE_MIN) || (en.Type == CriteriaEntryType.ENTRY_DATE_MAX)) { UDatePicker dt = createDatePicker(en, left, 0, 0, 5, width); Grid.SetColumn(dt, 1); Grid.SetRow(dt, row); grdInfo.Children.Add(dt); } else if (en.Type == CriteriaEntryType.ENTRY_CHECK_BOX) { if (!labelCreated) { //Create grid row, Check box has no associate label RowDefinition rd = new RowDefinition(); rd.Height = new GridLength(45, GridUnitType.Auto); grdInfo.RowDefinitions.Add(rd); } CheckBox cbx = createCheckBox(en, left, 5, 0, 5, width); Grid.SetColumn(cbx, 1); Grid.SetRow(cbx, row); grdInfo.Children.Add(cbx); } else if (en.Type == CriteriaEntryType.ENTRY_COMBO_BOX) { ComboBox cbo = createComboBox(en, left, 0, 0, 5, width); Grid.SetColumn(cbo, 1); Grid.SetRow(cbo, row); grdInfo.Children.Add(cbo); } if (en.Type != CriteriaEntryType.ENTRY_LABEL) { row++; labelCreated = false; } } }
private void renderCriteriaEntries() { ColumnDefinition cd1 = new ColumnDefinition(); cd1.Width = new GridLength(15, GridUnitType.Auto); grdMain.ColumnDefinitions.Add(cd1); ColumnDefinition cd2 = new ColumnDefinition(); cd2.Width = new GridLength(65, GridUnitType.Star); grdMain.ColumnDefinitions.Add(cd2); ColumnDefinition cd3 = new ColumnDefinition(); cd3.Width = new GridLength(20, GridUnitType.Star); grdMain.ColumnDefinitions.Add(cd3); int left = 10; int width = 300; int row = 0; //Count row by label Boolean labelCreated = false; ArrayList entries = criteria.CriteriaEntries; foreach (CCriteriaEntry en in entries) { if (en.Type == CriteriaEntryType.ENTRY_LABEL) { RowDefinition rd = new RowDefinition(); rd.Height = new GridLength(45, GridUnitType.Auto); grdMain.RowDefinitions.Add(rd); Label label = new Label(); Binding myBinding = new Binding(); myBinding.Source = CTextLabel.Instance; myBinding.Path = new PropertyPath(en.CaptionKey); BindingOperations.SetBinding(label, Label.ContentProperty, myBinding); label.VerticalAlignment = VerticalAlignment.Center; label.VerticalContentAlignment = VerticalAlignment.Center; label.HorizontalContentAlignment = HorizontalAlignment.Right; label.Margin = new Thickness(left, 0, 0, 5); Grid.SetColumn(label, 0); Grid.SetRow(label, row); grdMain.Children.Add(label); labelCreated = true; } else if (en.Type == CriteriaEntryType.ENTRY_TEXT_BOX) { TextBox tbx = new TextBox(); Binding myBinding = new Binding(); myBinding.Source = DataContext; myBinding.Path = new PropertyPath(en.FieldName); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(tbx, TextBox.TextProperty, myBinding); tbx.HorizontalAlignment = HorizontalAlignment.Left; tbx.VerticalAlignment = VerticalAlignment.Center; tbx.VerticalContentAlignment = VerticalAlignment.Center; tbx.Margin = new Thickness(left, 0, 0, 5); tbx.Width = width; Grid.SetColumn(tbx, 1); Grid.SetRow(tbx, row); grdMain.Children.Add(tbx); } else if ((en.Type == CriteriaEntryType.ENTRY_DATE_MIN) || (en.Type == CriteriaEntryType.ENTRY_DATE_MAX)) { UDatePicker dt = new UDatePicker(); Binding myBinding = new Binding(); myBinding.Source = DataContext; myBinding.Path = new PropertyPath(en.FieldName); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(dt, UDatePicker.SelectedDateProperty, myBinding); dt.HorizontalAlignment = HorizontalAlignment.Left; dt.VerticalAlignment = VerticalAlignment.Center; dt.VerticalContentAlignment = VerticalAlignment.Center; dt.Margin = new Thickness(left, 0, 0, 5); dt.Width = width; Grid.SetColumn(dt, 1); Grid.SetRow(dt, row); grdMain.Children.Add(dt); } else if (en.Type == CriteriaEntryType.ENTRY_CHECK_BOX) { if (!labelCreated) { //Create grid row, Check box has no associate label RowDefinition rd = new RowDefinition(); rd.Height = new GridLength(45, GridUnitType.Auto); grdMain.RowDefinitions.Add(rd); } CheckBox cbx = new CheckBox(); cbx.IsThreeState = true; Binding ctntBinding = new Binding(); ctntBinding.Source = CTextLabel.Instance; ctntBinding.Path = new PropertyPath(en.CaptionKey); BindingOperations.SetBinding(cbx, CheckBox.ContentProperty, ctntBinding); Binding valueBinding = new Binding(); valueBinding.Source = DataContext; valueBinding.Path = new PropertyPath(en.FieldName); BindingOperations.SetBinding(cbx, CheckBox.IsCheckedProperty, valueBinding); cbx.HorizontalAlignment = HorizontalAlignment.Left; cbx.VerticalAlignment = VerticalAlignment.Center; cbx.VerticalContentAlignment = VerticalAlignment.Center; cbx.Margin = new Thickness(left, 5, 0, 5); Grid.SetColumn(cbx, 1); Grid.SetRow(cbx, row); grdMain.Children.Add(cbx); } else if (en.Type == CriteriaEntryType.ENTRY_COMBO_BOX) { ComboBox cbo = new ComboBox(); Binding ctntBinding = new Binding(); ctntBinding.Source = CMasterReference.Instance; ctntBinding.Path = new PropertyPath(en.ComboCollectionName); BindingOperations.SetBinding(cbo, ComboBox.ItemsSourceProperty, ctntBinding); cbo.DisplayMemberPath = en.ComboDisplayItem; cbo.SelectedValuePath = "ObjSelf"; Binding selectedValueBinding = new Binding(); selectedValueBinding.Path = new PropertyPath(en.FieldName); BindingOperations.SetBinding(cbo, ComboBox.SelectedValueProperty, selectedValueBinding); cbo.HorizontalAlignment = HorizontalAlignment.Left; cbo.VerticalAlignment = VerticalAlignment.Center; cbo.VerticalContentAlignment = VerticalAlignment.Center; cbo.Margin = new Thickness(left, 0, 0, 5); cbo.Width = width; Grid.SetColumn(cbo, 1); Grid.SetRow(cbo, row); grdMain.Children.Add(cbo); } if (en.Type != CriteriaEntryType.ENTRY_LABEL) { row++; labelCreated = false; } } }
private void constructUI() { String value = ""; foreach (CEntry en in entries) { Label label = new Label(); label.Height = en.EntryHeight; label.Content = CLanguage.getValue(en.LabelContentKey); label.VerticalAlignment = VerticalAlignment.Center; label.VerticalContentAlignment = VerticalAlignment.Center; label.HorizontalContentAlignment = HorizontalAlignment.Right; label.Margin = new Thickness(20, 0, 0, 5); pnlLabel.Children.Add(label); FrameworkElement ctrl = new TextBlock(); if ((en.EntryType == EntryType.ENTRY_DATE_MIN) || (en.EntryType == EntryType.ENTRY_DATE_MAX)) { ctrl = new UDatePicker(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); if (!value.Equals("")) { (ctrl as UDatePicker).SelectedDate = CUtil.InternalDateToDate(value); } } else if (en.EntryType == EntryType.ENTRY_MONTH_YEAR) { ctrl = new UDateEntry(); (ctrl as UDateEntry).ButtonVisible = true; (ctrl as UDateEntry).OnlyMonth = true; ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); if (!value.Equals("")) { (ctrl as UDateEntry).SelectedDate = CUtil.InternalDateToDate(value); } else { (ctrl as UDateEntry).SelectedDate = DateTime.Now; } } else if (en.EntryType == EntryType.ENTRY_TEXT_BOX) { ctrl = new TextBox(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; (ctrl as TextBox).VerticalContentAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); (ctrl as TextBox).Text = value; } else if (en.EntryType == EntryType.ENTRY_CHECK_BOX) { ctrl = new CheckBox(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; (ctrl as CheckBox).VerticalContentAlignment = VerticalAlignment.Top; (ctrl as CheckBox).Content = label.Content; //เอาค่าจาก label มาแสดงที่ checkbox แทน label.Content = ""; value = rptCfg.GetConfigValue(en.FieldName, ""); (ctrl as CheckBox).IsChecked = flagToBoolean(value); } else if (en.EntryType == EntryType.ENTRY_COMBO_BOX) { ctrl = new ComboBox(); ctrl.HorizontalAlignment = HorizontalAlignment.Left; ctrl.VerticalAlignment = VerticalAlignment.Center; (ctrl as ComboBox).VerticalContentAlignment = VerticalAlignment.Center; value = rptCfg.GetConfigValue(en.FieldName, ""); en.ComboSetupFunction((ctrl as ComboBox)); en.ComboLoaderFunction((ctrl as ComboBox), value); } ctrl.Margin = new Thickness(5, 0, 0, 5); ctrl.Width = en.EntryWidth; ctrl.Height = en.EntryHeight; en.ActualUI = ctrl; en.ActualLabel = label; pnlEntry.Children.Add(ctrl); value = rptCfg.GetConfigValue((String)txtFromPage.Tag, ""); txtFromPage.Text = value; value = rptCfg.GetConfigValue((String)txtToPage.Tag, ""); txtToPage.Text = value; value = rptCfg.GetConfigValue((String)txtLeft.Tag, ""); txtLeft.Text = value; value = rptCfg.GetConfigValue((String)txtTop.Tag, ""); txtTop.Text = value; value = rptCfg.GetConfigValue((String)txtBottom.Tag, ""); txtBottom.Text = value; value = rptCfg.GetConfigValue((String)txtRight.Tag, ""); txtRight.Text = value; cbxPageRange.IsEnabled = paginator.IsNewVersion(); } }
private CTable verifyAndConstructObject() { foreach (CEntry en in entries) { UIElement elm = en.ActualUI; String value = ""; if (en.EntryType == EntryType.ENTRY_DATE_MIN) { UDatePicker dt = (UDatePicker)elm; if (dt.SelectedDate == null) { value = ""; } else { value = CUtil.DateTimeToDateStringInternalMin((DateTime)dt.SelectedDate); } } else if (en.EntryType == EntryType.ENTRY_DATE_MAX) { UDatePicker dt = (UDatePicker)elm; if (dt.SelectedDate == null) { value = ""; } else { value = CUtil.DateTimeToDateStringInternalMax((DateTime)dt.SelectedDate); } } else if (en.EntryType == EntryType.ENTRY_MONTH_YEAR) { UDateEntry dt = (UDateEntry)elm; if (dt.SelectedDate == null) { value = ""; } else { value = CUtil.DateTimeToDateStringInternal((DateTime)dt.SelectedDate); } } else if (en.EntryType == EntryType.ENTRY_TEXT_BOX) { TextBox txt = (TextBox)elm; if (!CHelper.ValidateTextBox((Label)en.ActualLabel, txt, en.NullAllowed)) { return(null); } value = txt.Text; } else if (en.EntryType == EntryType.ENTRY_CHECK_BOX) { CheckBox cbx = (CheckBox)elm; value = booleanToFlag((Boolean)cbx.IsChecked); } else if (en.EntryType == EntryType.ENTRY_COMBO_BOX) { ComboBox cbo = (ComboBox)elm; if (!CHelper.ValidateComboBox((Label)en.ActualLabel, cbo, en.NullAllowed)) { return(null); } MBaseModel v = (MBaseModel)cbo.SelectedItem; value = en.ObjectToIndexFunction(v); } String fld = en.FieldName; rptCfg.SetConfigValue(fld, value, "String", ""); } if (!CHelper.ValidateComboBox(lblPaperType, cboPaperType, false)) { return(null); } MMasterRef mr = (MMasterRef)cboPaperType.SelectedItem; rptCfg.SetConfigValue((String)cboPaperType.Tag, mr.MasterID, "Integer", ""); if (radPotrait.IsChecked == true) { rptCfg.SetConfigValue((String)lblPaperType.Tag, (String)radPotrait.Tag, "String", ""); } else if (radLandScape.IsChecked == true) { rptCfg.SetConfigValue((String)lblPaperType.Tag, (String)radLandScape.Tag, "String", ""); } if (cbxPageRange.IsChecked == true) { paginator.isPageRange = true; if (!CHelper.ValidateTextBox(lblFromPage, txtFromPage, false, InputDataType.InputTypeZeroPossitiveInt)) { return(null); } paginator.fromPage = CUtil.StringToInt(txtFromPage.Text); if (!CHelper.ValidateTextBox(lblToPage, txtToPage, false, InputDataType.InputTypeZeroPossitiveInt)) { return(null); } paginator.toPage = CUtil.StringToInt(txtToPage.Text); if (paginator.toPage < paginator.fromPage) { CHelper.ShowErorMessage("", "ERROR_PAGE_RANGE", null); txtFromPage.Focus(); return(null); } } if (!CHelper.ValidateTextBox(lblMarginLeft, txtLeft, false, InputDataType.InputTypeZeroPossitiveDecimal)) { return(null); } if (!CHelper.ValidateTextBox(lblMarginTop, txtTop, false, InputDataType.InputTypeZeroPossitiveDecimal)) { return(null); } if (!CHelper.ValidateTextBox(lblMarginRight, txtRight, false, InputDataType.InputTypeZeroPossitiveDecimal)) { return(null); } if (!CHelper.ValidateTextBox(lblMarginBottom, txtBottom, false, InputDataType.InputTypeZeroPossitiveDecimal)) { return(null); } rptCfg.SetConfigValue((String)txtFromPage.Tag, txtFromPage.Text, "String", ""); rptCfg.SetConfigValue((String)txtToPage.Tag, txtToPage.Text, "String", ""); rptCfg.SetConfigValue((String)txtLeft.Tag, txtLeft.Text, "String", ""); rptCfg.SetConfigValue((String)txtTop.Tag, txtTop.Text, "String", ""); rptCfg.SetConfigValue((String)txtRight.Tag, txtRight.Text, "String", ""); rptCfg.SetConfigValue((String)txtBottom.Tag, txtBottom.Text, "String", ""); CUtil.EnableForm(false, this); CReportConfigs.SaveReportConfig(null, rptCfg); CUtil.EnableForm(true, this); CTable tb = rptCfg.GetParamObject(); return(tb); }
private void renderCriteriaEntries() { int left = 10; int width = 200; ArrayList entries = criteria.CriteriaEntries; foreach (CCriteriaEntry en in entries) { if (en.Type == CriteriaEntryType.ENTRY_LABEL) { Label label = new Label(); Binding myBinding = new Binding(); myBinding.Source = CTextLabel.Instance; myBinding.Path = new PropertyPath(en.CaptionKey); BindingOperations.SetBinding(label, Label.ContentProperty, myBinding); label.VerticalAlignment = VerticalAlignment.Center; label.VerticalContentAlignment = VerticalAlignment.Center; label.HorizontalContentAlignment = HorizontalAlignment.Left; label.Margin = new Thickness(left, 0, 0, 5); pnlCriteria.Children.Add(label); } else if (en.Type == CriteriaEntryType.ENTRY_TEXT_BOX) { TextBox tbx = new TextBox(); Binding myBinding = new Binding(); myBinding.Source = DataContext; myBinding.Path = new PropertyPath(en.FieldName); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(tbx, TextBox.TextProperty, myBinding); tbx.HorizontalAlignment = HorizontalAlignment.Left; tbx.VerticalAlignment = VerticalAlignment.Center; tbx.VerticalContentAlignment = VerticalAlignment.Center; tbx.Margin = new Thickness(left, 0, 0, 5); tbx.Width = width; if (elm == null) { elm = tbx; } pnlCriteria.Children.Add(tbx); } else if ((en.Type == CriteriaEntryType.ENTRY_DATE_MIN) || (en.Type == CriteriaEntryType.ENTRY_DATE_MAX)) { UDatePicker dt = new UDatePicker(); Binding myBinding = new Binding(); myBinding.Source = DataContext; myBinding.Path = new PropertyPath(en.FieldName); myBinding.Mode = BindingMode.TwoWay; myBinding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged; BindingOperations.SetBinding(dt, UDatePicker.SelectedDateProperty, myBinding); dt.HorizontalAlignment = HorizontalAlignment.Left; dt.VerticalAlignment = VerticalAlignment.Center; dt.VerticalContentAlignment = VerticalAlignment.Center; dt.Margin = new Thickness(left, 0, 0, 5); dt.Width = width; if (elm == null) { elm = dt; } pnlCriteria.Children.Add(dt); } else if (en.Type == CriteriaEntryType.ENTRY_CHECK_BOX) { CheckBox cbx = new CheckBox(); cbx.IsThreeState = true; Binding ctntBinding = new Binding(); ctntBinding.Source = CTextLabel.Instance; ctntBinding.Path = new PropertyPath(en.CaptionKey); BindingOperations.SetBinding(cbx, CheckBox.ContentProperty, ctntBinding); Binding valueBinding = new Binding(); valueBinding.Source = DataContext; valueBinding.Path = new PropertyPath(en.FieldName); BindingOperations.SetBinding(cbx, CheckBox.IsCheckedProperty, valueBinding); cbx.HorizontalAlignment = HorizontalAlignment.Left; cbx.VerticalAlignment = VerticalAlignment.Center; cbx.VerticalContentAlignment = VerticalAlignment.Center; cbx.Margin = new Thickness(left, 5, 0, 5); if (elm == null) { elm = cbx; } pnlCriteria.Children.Add(cbx); } else if (en.Type == CriteriaEntryType.ENTRY_COMBO_BOX) { ComboBox cbo = new ComboBox(); Binding ctntBinding = new Binding(); ctntBinding.Source = CMasterReference.Instance; ctntBinding.Path = new PropertyPath(en.ComboCollectionName); BindingOperations.SetBinding(cbo, ComboBox.ItemsSourceProperty, ctntBinding); cbo.DisplayMemberPath = en.ComboDisplayItem; cbo.SelectedValuePath = "ObjSelf"; Binding selectedValueBinding = new Binding(); selectedValueBinding.Path = new PropertyPath(en.FieldName); BindingOperations.SetBinding(cbo, ComboBox.SelectedValueProperty, selectedValueBinding); cbo.HorizontalAlignment = HorizontalAlignment.Left; cbo.VerticalAlignment = VerticalAlignment.Center; cbo.VerticalContentAlignment = VerticalAlignment.Center; cbo.Margin = new Thickness(left, 0, 0, 5); cbo.Width = width; if (elm == null) { elm = cbo; } pnlCriteria.Children.Add(cbo); } } }