例外スタックの先頭は次のとおりです。
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;
...
「これ」は UserControl です。_QCLotListPageLeftXAML は、TabControl 内のページで使用される UserControl でもあります tblLotList は WPF DataGrid QCPage は、バインディングの依存関係プロパティのみを含む依存オブジェクトです
データグリッドに 300 個のアイテムがあったときにこの例外が発生しました。これは、設定した許容最大数です。データグリッドは4列あるのでそんなに重くはないです... また、ソフトウェアはしばらく前から動いていたので、sw起動時は発生していません。
ここで何がうまくいかないのか分かりますか?SelectedItems は DataGrid で null にできますか?