【问题标题】:Items collection must be empty before using ItemsSource with checkbox control in datagrid wpf在数据网格 wpf 中使用带有复选框控件的 ItemsSource 之前,项目集合必须为空
【发布时间】:2013-08-09 13:24:32
【问题描述】:

仅当我添加以下 XAML 代码时才会出现此错误:

 <DataGridTemplateColumn Header="Ist aktiv" IsReadOnly="True">
     <DataGridTemplateColumn.CellTemplate>
         <DataTemplate>
             <CheckBox IsChecked="{Binding IsActiveBool}"  />
          </DataTemplate>
     </DataGridTemplateColumn.CellTemplate>
 </DataGridTemplateColumn>

</DataGrid>

【问题讨论】:

    标签: c# wpf xaml


    【解决方案1】:

    我也是第一次遇到类似的问题,我注意到如果您忘记添加/包含

    <DataGrid.Columns> </DataGrid.Columns>
    

    标签

    【讨论】:

    • 这对我有用。原来我复制并粘贴了DataGridTemplateColumn 我正在使用的错误位置,在&lt;DataGrid.Columns&gt; 标签之外
    【解决方案2】:

    出现此错误的可能原因有很多,其中大部分(如果不是全部)已在 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 用户来说,通常最好在他们在这里提问之前搜索

    【讨论】:

      【解决方案3】:

      仅供参考……

      我遇到了问题,因为我添加了这种看起来很奇怪的样式:

          <Style TargetType="{x:Type DataGridCell}">
              <EventSetter Event="PreviewMouseLeftButtonDown" Handler="DataGridCell_PreviewMouseLeftButtonDown" />
          </Style>
      

      【讨论】:

      • 出于同样的原因,我遇到了同样的错误。如果我删除它,它就会消失。你是怎么解决的?
      【解决方案4】:

      这是我的代码!有用。真的,我忘了把标签放在合适的地方。

      <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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-02
        • 2014-01-07
        • 1970-01-01
        • 1970-01-01
        • 2012-07-24
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多