【问题标题】:WPF GridView Column Binding issueWPF GridView 列绑定问题
【发布时间】:2013-10-11 16:14:11
【问题描述】:

我有以下工作正常的 GridView 控件:

<DataGrid IsReadOnly="true"
          ItemsSource="{Binding CiList}"
          AutoGenerateColumns="True"
          SelectedItem="{Binding Path=CI}" />

如果我设置AutoGenerateColumns="False" 并手动添加一个DataGridTextColumn,如下所示:

<DataGrid IsReadOnly="true"
          ItemsSource="{Binding CiList}"
          AutoGenerateColumns="False"
          AlternatingRowBackground="Gainsboro"
          AlternationCount="2"
          Height="150"
          SelectedItem="{Binding Path=CI}">
  <DataGridTextColumn Header="Name"
                      Binding="{Binding Path=Name}" />
</DataGrid>

我得到一个 InvalidOperationException “在使用 ItemsSource 之前,Items 集合必须为空。”

我做错了什么?谢谢!

编辑:我正在使用 MVVM 模式,Window 的 DataContext 是我的 ViewModel,其中 CiList 是一个属性。

【问题讨论】:

    标签: c# wpf xaml data-binding


    【解决方案1】:

    您需要将 Columns 标签添加到网格中

    <DataGrid..>
       <DataGrid.Columns>
          <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" />
       </DataGridColumns>
    ...
    

    【讨论】:

      【解决方案2】:

      将列放入 DataGrid.Columns 中,如下所示:

      <DataGrid IsReadOnly="true" ItemsSource="{Binding CiList}" AutoGenerateColumns="False" AlternatingRowBackground="Gainsboro"  AlternationCount="2" Height="150" SelectedItem="{Binding Path=CI}">
        <DataGrid.Columns>
              <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" />
        </DataGrid.Columns>
      </DataGrid>
      

      【讨论】:

        【解决方案3】:

        您需要在DataGrid.Columns 中定义您的列

        <DataGrid IsReadOnly="true" ItemsSource="{Binding CiList}" AutoGenerateColumns="False" AlternatingRowBackground="Gainsboro"  AlternationCount="2" Height="150" SelectedItem="{Binding Path=CI}">
              <DataGrid.Columns>
                            <DataGridTextColumn Header="Name" Binding="{Binding Path=Name}" />
              </DataGrid.Columns>
        </DataGrid>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-02
          • 1970-01-01
          • 2011-04-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-09
          相关资源
          最近更新 更多