wpf datagrid在删除行时标识光标在空行上的位置
我有一个datagrid,绑定到observable collection,它允许操作员通过“canc”键插入新行或删除现有行 基于此社区的其他帖子,删除操作的实现方式如下: XAML:wpf datagrid在删除行时标识光标在空行上的位置,wpf,vb.net,datagrid,cursor,Wpf,Vb.net,Datagrid,Cursor,我有一个datagrid,绑定到observable collection,它允许操作员通过“canc”键插入新行或删除现有行 基于此社区的其他帖子,删除操作的实现方式如下: XAML: 删除操作正常工作,问题是当光标定位在空白新行上时,我有错误: observable collection.exe中发生类型为“System.InvalidCastException”的未处理异常 在强制转换操作myRec=CType(myGrid.CurrentItem,Diameter)时引发错误 我试图通过
删除操作正常工作,问题是当光标定位在空白新行上时,我有错误:
observable collection.exe中发生类型为“System.InvalidCastException”的未处理异常 在强制转换操作myRec=CType(myGrid.CurrentItem,Diameter)时引发错误我试图通过检查发现空白行上的光标位置:
myGrid.CurrentItem什么都不是 还有许多其他不同的方式,但我找不到解决办法 有什么建议吗?C#的答案也可以 提前感谢您的帮助<DataGrid Name="DiameterGrid" ItemsSource="{Binding} AutoGenerateColumns="False"
CanUserAddRows="True" CanUserDeleteRows="True" SelectionMode="Single" SelectionUnit="Cell" PreviewKeyDown="RollGrid_PreviewKeyDown">
...
DiameterGrid.ItemsSource = offer.diameters
...
Private Sub RollGrid_PreviewKeyDown(ByVal sender As Object, ByVal e As KeyEventArgs)
Dim myGrid As DataGrid = CType(e.Source, DataGrid)
Dim myRec As Diameter
If e.Key = Key.Delete Then
If myGrid.CurrentItem Is Nothing Then
MsgBox("Invalid record")
Else
myRec = CType(myGrid.CurrentItem, Diameter)
offer.diameters.Remove(myRec)
End If
End If
End Sub