只有在我添加以下XAML代码时才会出现此错误:
<DataGridTemplateColumn Header="Ist aktiv" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding IsActiveBool}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid>
答案 0 :(得分:6)
我第一次遇到类似的问题,我注意到如果你忘了添加/附上
,你甚至会收到此错误信息<DataGrid.Columns> </DataGrid.Columns>
标签
答案 1 :(得分:1)
有很多可能的原因导致出现此错误,其中大部分(如果不是全部)已在StackOverflow上讨论过。看看以下帖子:
Items collection must be empty before using ItemsSource in Silverlight
Error: Items collection must be empty before using ItemsSource
Getting an “Items collection must be empty before using ItemsSource” with EF
DataGridTemplateColumn : Items collection must be empty before using ItemsSource.
Items collection must be empty before using ItemsSource
如果你在这些帖子中找不到答案,也许你可以自己进行搜索...... SO用户通常最好在之前搜索他们在这里提出问题。< / p>
答案 2 :(得分:1)
仅供参考......
我遇到了问题,因为我添加了这种看起来非常奇怪的风格:
<Style TargetType="{x:Type DataGridCell}">
<EventSetter Event="PreviewMouseLeftButtonDown" Handler="DataGridCell_PreviewMouseLeftButtonDown" />
</Style>
答案 3 :(得分:0)
这是我的代码!有用。真的,我忘了把标签放在适当的地方。
<DataGrid x:Name="CostsDataGrid" HorizontalAlignment="Left" Margin="307,98,0,0" VerticalAlignment="Top" Height="260" Width="313" AutoGenerateColumns="False" MinColumnWidth="35" VerticalGridLinesBrush="#FF7A7878" HorizontalGridLinesBrush="#FF7A7878" RowHeight="35" Foreground="Black" PreviewMouseRightButtonDown="CostsDataGrid_PreviewMouseRightButtonDown" >
<DataGrid.Columns>
<DataGridTemplateColumn Header="состояние" Width="70" IsReadOnly="False">
<DataGridTemplateColumn.CellTemplate >
<DataTemplate>
<CheckBox IsChecked="{Binding Path=IsSelected, UpdateSourceTrigger=PropertyChanged}" Checked="OnChecked" Unchecked="OffChecked"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="расход" Binding="{Binding name}" Width="121" IsReadOnly="True" />
<DataGridTextColumn Header="сумма" Binding="{Binding price}" Width="120" IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>