【WPF异常】在使用 ItemsSource 之前,项集合必须为空
有这样一段XAML代码:
<DataGrid DataContext="{Binding AlertHistoryList}" ItemsSource="{Binding}">
<DataGridTextColumn Header="部件" Binding="{Binding PartName}"/>
<DataGridTextColumn Header="预警时间" Binding="{Binding AlertTimeStr}"/>
<DataGridTextColumn Header="预警公式" Binding="{Binding Expression}"/>
<DataGridTextColumn Header="处理人" Binding="{Binding Content}"/>
</DataGrid>
其中 AlertHistoryList 是 ObservableCollection<T> 类型,作为 DataGrid 的DataContext。
但是运行时抛出以下异常: 在使用 ItemsSource 之前,项集合必须为空。
原因是:没有将 DataGridTextColumn 嵌套在 DataGrid.Columns 中。
正确写法如下:
<DataGrid DataContext="{Binding AlertHistoryList}" ItemsSource="{Binding}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="部件" Binding="{Binding PartName}"/>
<DataGridTextColumn Header="预警时间" Binding="{Binding AlertTimeStr}"/>
<DataGridTextColumn Header="预警公式" Binding="{Binding Expression}"/>
<DataGridTextColumn Header="处理人" Binding="{Binding Content}"/>
</DataGrid.Columns>
</DataGrid>

浙公网安备 33010602011771号