c#样式ComboBoxItem代码

本文关键字:代码 ComboBoxItem 样式 | 更新日期: 2023-09-27 18:03:57

是否可以像这样设置ComboBoxItem的FontWeight ?

  comboCategory.Items.Add("foo");
  (comboCategory.Items[0] as ComboBoxItem).FontWeight = FontWeights.Bold;

Visual Studio喜欢这段代码,但是在运行时我得到一个NullReferenceException。

或者我可以使用这个代码,但我正在寻找更聪明的东西:

  ComboBoxItem temp = new ComboBoxItem();
  temp.FontWeight = FontWeights.Bold;
  temp.Content = "foo";
  comboCategory.Items.Add(temp);

c#样式ComboBoxItem代码

ComboBox的Items.Add()函数接受object类型,在您的第一个示例中是string,然后下面一行您试图将string转换为ComboBoxItem,因此您的空引用异常。

如果你想要访问字体重量属性,那么你必须做一些类似于你的第二个建议,关于首先创建你的ComboBoxItem,并将其传递到Add()函数。

你可以像下面这样"简化"你的代码,但是这是一个关于代码是否更简洁的观点:

comboCategory.Items.Add(new ComboxBoxItem() {FontWeight = FontWeights.Bold, Content = "foo"});