如何使用代码更改组合框的边框颜色?

2024-01-04

我有一个组合框,我想将边框的颜色更改为红色以将其标记为必填字段。我正在通过我的代码动态生成此组合框列。为了更改边框颜色,我应该设置哪些属性?

  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(使用前将#替换为@)

如何使用代码更改组合框的边框颜色? 的相关文章

  • WPF Window 类的 IDisposable 成员

    当我将 IDisposable 类成员添加到 Windows 窗体 Form 类时 我将处置代码添加到 Form 的 Dispose 方法中 当我将 IDisposable 类成员添加到 WPF Window 类 不是 IDisposabl
  • 为什么绑定到 IEnumerable 的 ListBox 不更新?

    我有以下 XAML
  • WPF 画布缩放/变换以适合

    我重新发布这个问题 因为上次我没有得到太多答复 希望重新措辞可能有所帮助 本质上 我想做的是创建一个数据绑定画布 它将自动缩放其内容以 填充 可用空间 有点像缩放以适应操作 不幸的是 我的 WPF 技能还不是很强 我正在努力弄清楚如何完成最
  • 给一个窗口句柄(Native),如何使用C#关闭窗口?

    给定一个窗口句柄 如何使用该窗口句柄关闭该窗口 最简单的方法是使用 PInvoke 并执行SendMessage with WM CLOSE DllImport user32 dll CharSet CharSet Auto private
  • WindowsFormsHost ZOrder

    看起来 WindowsFormsHost 控件被设置为显示在顶部 有没有办法更改其 z 顺序 以允许同一窗口上的其他 WPF 控件在 WindowsFormsHost 控件之上可见 不幸的是 不能 由于 winformshost 合成到 W
  • System.Windows.Controls.WebBrowser、System.Windows.Threading.Dispatcher 和 Windows 服务

    我正在尝试将一些 html 内容渲染为 Windows 服务中的位图 我正在使用 System Windows Controls WebBrowser 来执行渲染 基本渲染设置作为一个独立进程运行 并带有托管控件的 WPF 窗口 但作为服务
  • 隐藏继承的成员

    我正在寻找某种方法来有效隐藏继承的成员 我有一个继承自公共基类的类库 一些较新的后代类继承了依赖属性 这些属性已变得残存 并且在使用时可能会有点混乱智能感知或使用视觉设计器中的类 这些类都是为 WPF 或 Silverlight 2 0 编
  • 更改图库中的边框样式

    我正在服用this http www androidpeople com android gallery imageview example 教程 正如你所看到的this http www androidpeople com wp cont
  • 绑定到内部 ViewModel-Property

    我有一个 UserControl 其 ViewModel 类作为 DataContext XAML
  • wpf 中的双显示器双窗口应用程序

    我正在尝试创建一个带有媒体元素的 wpf 视频播放器 我的目标是为该应用程序制作多个窗口 每个窗口将显示在不同的显示器上 就像主窗口将获取主显示器的分辨率并调整自身大小以全屏显示一样 辅助监视器上的第二个窗口等等 到目前为止 我已将主窗口设
  • 如何禁用箭头键更改焦点

    我有一个 WPF 窗口 其中有一些控件 按钮 组框等 和一个大控件Viewport3D在一个Border 视口显示 3D 场景 我希望使用箭头键来移动其相机 问题 方向键总是将焦点改变到另一个UIElement 如何通过箭头键禁用焦点更改并
  • 从 Angular 2 和 Silverlight 应用程序使用相同的 WCF 服务

    目前 我们有一个带有 WCF 服务 后端 的 Silverlight 应用程序 前端 现在 我们将用 Angular 2 应用程序替换 Silverlight 应用程序 而不更改 WCF 服务 只有 UI 会发生变化 在开始使用 Angul
  • WPF 自定义 TabItem - 控件未显示在 Visual Studio 设计器中

    我创建了一个自定义 TabItem 其中包含 DockPanel 和 Button XAML
  • 底部垂直滚动richtextbox [WPF]

    我有一个富文本框 当满了时我想自动滚动到底部 这可能吗 用xaml做这个吗 通过使用ScrollViewer ScrollChanged http msdn microsoft com en us library system window
  • wpf中的图像问题(图像不显示)

    我不明白为什么我无法在 WPF 中显示图像 也许我不小心修改了我的资源文件夹 这就是我没有显示的原因 所以我创建了一个新的 wpf 应用程序 我有这个 当我运行该程序时 我的图片显示为 为什么当我尝试在程序中执行相同的操作时 图像没有显示
  • 如何将绑定源设置为“self”/UserControl 代码隐藏

    如何设置绑定源以指向 此 UserControl CodeBehind 例如 从用户控件MarkdownEditor xaml 我想指出其中的属性MarkdownEditor xaml cs 无需设置即可执行此操作DataContext t
  • 如何在运行时动态更改 DataGrid String 列格式?

    我的 WPF 桌面应用程序提供了一个 UI 来搜索人员并在 DataGrid 中显示结果 此外 用户可以在运行时更改语言 Current UI Culture XAML 中的 DataGrid 定义是
  • WPF - 按多列排序时使用自定义比较器

    我有一个 ListView GridView 我想按 2 列排序 因此如果第 1 列中有 2 个以上的项目具有相同的值 它将按第 2 列排序 非常简单 但是在对 A Z 进行排序时 空字符串会出现在顶部 我想把它们移到底部 我制作了一个比较
  • 在组合框中设置所选项目 - vb.net

    我正在使用此代码向与显示的不同的组合框添加一个值 如何为组合框项目添加值 https stackoverflow com questions 1887388 how to add value to combobox item 假设我的组合框
  • 如何在 HTML 中创建可编辑的下拉列表?

    我想创建一个带有下拉列表的文本字段 让用户选择一些预定义的值 用户还应该能够键入新值或从下拉列表中选择预定义值 我知道我可以为此使用两个小部件 但在我的应用程序中 如果将其统一在一个小部件中会更符合人体工程学 是否有标准小部件或者我必须使用

随机推荐