WPFのListBox.SelectedItemの挙動がおかしい
最近、ツールを作るときに、Windows Forms ではなくて、WPF を使っています。 理由の第一は、UI が綺麗に作れるから、なんですが、通常のフォームアプリケーションを作るのと勝手が違う or 動きがおかしい、とろが多々あって、ちょっと避けるべき理由もちらほら。 今、使っているのは WPF のリストボックスなのですが、どうやら、 リストボックスの項目を Remove メソッドで削除する。 カーソルを設定するために SelectedIndex で選択させる。 この後、カーソルキーの上矢印や下矢印キーを押すと、先頭にカーソルが移動してしまう。 という現象です。 削除する場合は、次のコードのように、DELETEキーを押したときに、選択行を削除します。 private void listBox1_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Delete) { int index = listBox1.SelectedIndex; listBox1.Items.RemoveAt(index); index–; if (index < 0) index = 0; listBox1.SelectedIndex = index; [...]