0

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);
4

1 に答える 1

1

ComboBox の関数は、最初の例では a でItems.Add()ある型を受け入れ、その下の行は aを aにキャストしようとしているため、null 参照例外が発生します。objectstringstringComboBoxItem

フォントの太さのプロパティにアクセスしたい場合は、ComboBoxItem最初のものを作成して関数に渡すことに関して、2 番目の提案と同様のことを行う必要がありAdd()ます。

次のようにコードを「単純化」することもできますが、このコードがよりクリーンかどうかは意見の問題です。

comboCategory.Items.Add(new ComboxBoxItem() {FontWeight = FontWeights.Bold, Content = "foo"});
于 2013-03-14T11:08:59.517 に答える