是否可以像这样设置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);
答案 0 :(得分:1)
ComboBox的Items.Add()
函数接受object
类型,在您的第一个示例中为string
,然后您下面的一行尝试将string
投射到{ {1}},因此您的空引用异常。
如果您想要访问字体权重属性,那么您必须先做一些类似于第二个建议的事情,首先要创建ComboBoxItem
并将其传递到ComboBoxItem
函数。
您可能会像下面这样“简化”您的代码,但这是一个问题,这个代码是否更清晰:
Add()