行追加・削除時にキー入力が受け付けられなかったり、削除時に例外が出たり・・・
どうも、アクティブセルにからむ問題(?)っぽい。
基本はActiveCellPositionにいったんCellPosition.Emptyを設定するのがミソ。
下記、サンプル(DataContextに渡しているデータクラスは省略)
Addボタンで行追加、DELで1行削除、Clearで全行削除する。
''' <summary>
''' 行追加処理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Dim vm As VM = DirectCast(Me.DataContext, VM)
Dim data As New DataClass
data.ID = ""
data.Name = ""
vm.Detail.Add(data)
Me.sp_Detail.Focus()
Me.sp_Detail.ActiveCellPosition = CellPosition.Empty ' 回避策[1/2]
Me.sp_Detail.ActiveCellPosition = New CellPosition(sp_Detail.RowCount - 1, "ID")
Me.sp_Detail.ShowCell(sp_Detail.ActiveCellPosition.Row, sp_Detail.ActiveCellPosition.Column)
Me.sp_Detail.Focus() ' 回避策[2/2]
End Sub
Microsoft Visual Studio Professional 2013 新品価格 |
ひと目でわかる Visual C# 2013/2012 アプリケーション開発入門 (MSDNプログラミングシリーズ) 新品価格 |