这是异常堆栈的顶部:
System.NullReferenceException: Object reference not set to an instance of an object.
at xx.TblQcLotListSelectionChanged(Object sender, SelectionChangedEventArgs e) in ...\InternalEventHandlerQCPage.cs:line 441
at xx.QCLotListPageLeftLoaded(Object sender, RoutedEventArgs e) in ...\InternalEventHandlerQCPage.cs:line 435
这是 InternalEventHandlerQCPage.cs 中提到的部分:
private void QCLotListPageLeftLoaded(object sender, RoutedEventArgs e)
{
this.QCPage.QCShowRangesTblHitTest = true;
this.QCPage.QCShowRangesTblEnabled = true;
this.QCPage.LOTListRightTxtNameEnabled = false;
this.QCPage.LOTListFieldEnabled = false;
this.QCPage.LOTListNumberDateEnabled = false;
TblQcLotListSelectionChanged(null, null); //line 435
}
private void TblQcLotListSelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (this._QCLotListPageLeftXAML.tblLotList.SelectedItems.Count == 0) //line 441
{
this.QCPage.LOTListRightBtnUpEnabled = false;
this.QCPage.LOTListRightBtnDownEnabled = false;
this.QCPage.QCShowRangesBtnUpEnabled = false;
this.QCPage.QCShowRangesBtnDownEnabled = false;
...
“this”是一个用户控件。_QCLotListPageLeftXAML 也是在 TabControl 内的页面上使用的 UserControl tblLotList 是 WPF DataGrid QCPage 是仅包含绑定的依赖属性的依赖对象
当数据网格有 300 个项目时,我们得到了这个异常,这是我们设置的允许的最大值。数据网格有 4 列,所以它不是那么重......而且该软件之前已经运行了一段时间,所以这在 sw 启动时没有发生。
你知道这里会出现什么问题吗?对于 DataGrid,SelectedItems 可以为空吗?