我有一个组合框,我想将边框的颜色更改为红色以将其标记为必填字段。我正在通过我的代码动态生成此组合框列。为了更改边框颜色,我应该设置哪些属性?
DataGridTemplateColumn dataGridComboBoxTemplateColumnObj = new DataGridTemplateColumn();
dataGridComboBoxTemplateColumnObj.Header = column.Header;
FrameworkElementFactory comboBoxFactory = new FrameworkElementFactory(typeof(ComboBox));
Binding bindingItemSourceObj = new Binding(column.ItemsSourcePropertyName);
comboBoxFactory.SetValue(ComboBox.HorizontalAlignmentProperty, HorizontalAlignment.Stretch);
comboBoxFactory.SetValue(ComboBox.ItemsSourceProperty, bindingItemSourceObj);
comboBoxFactory.SetValue(ComboBox.SelectedValuePathProperty, column.ValuePropertyName);
Binding selectedValueBindingObj = new Binding(column.PropertyName);
selectedValueBindingObj.Mode = BindingMode.TwoWay;
selectedValueBindingObj.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
comboBoxFactory.SetValue(ComboBox.SelectedValueProperty, selectedValueBindingObj);
dataGridComboBoxTemplateColumnObj.CellTemplate = new DataTemplate();
dataGridComboBoxTemplateColumnObj.CellTemplate.VisualTree = comboBoxFactory;
dataGridColumnObj = dataGridComboBoxTemplateColumnObj;
如果你有一个ComboBox
:
<ComboBox x:Name="MyComboBox"/>
您只需设置该值即可Border.BorderBrushProperty
:
MyComboBox.SetValue(Border.BorderBrushProperty, Brushes.Red);
通过这种方式,您可以准确地更改边框颜色ComboBox
to red.
Edit:
我为您的具体情况添加了这个示例FrameworkElementFactory
:
FrameworkElementFactory comboBoxFactory = new FrameworkElementFactory(typeof(ComboBox));
comboBoxFactory.SetValue(Border.BorderBrushProperty, Brushes.Red);
ControlTemplate ct = new ControlTemplate(typeof(ComboBox));
ct.VisualTree = comboBoxFactory;
MyComboBox.Template = ct;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)