DataGridなどでいずれかの行を選んで修正したり削除したりする場合、selectionChangeイベントを利用するが、処理をキャンセルした場合、行の選択状態もキャンセルしておかないと、データが1行しか無い場合に一度選択してキャンセルを行いもう一度選ぶと、当然だが、selectionChangeは発生しない。
その為、処理をキャンセルした場合は必ず selectedIndex=-1と言う具合に選択も解除しておく、これならば必ずselectionChangeは発生する。
うっかりしておくと見逃す処理だ。