为什么在DataGrid中添加“长度”作为额外列?

时间:2015-08-24 10:00:38

标签: c# wpf datagrid

我有DataGrid绑定到ObservableCollection字符串(因为我只有一列要显示。

<DataGrid CanUserSortColumns="False" CanUserResizeColumns="False" Margin="10,65,20,67"  ItemsSource="{Binding ExpressionCollection}" >
        <DataGrid.Columns>
            <DataGridTextColumn Header="Expressions" Width="*" Binding="{Binding Path=.}"/>
        </DataGrid.Columns>
    </DataGrid>

这是我的绑定集合。

ObservableCollection<string> expressionCollection;
  public ObservableCollection<string> ExpressionCollection
  {
     get { return expressionCollection; }
     set { expressionCollection = value; }
  }

  public ExpressionEditor()
  {
     InitializeComponent();
     LoadExpressions();
     this.DataContext = this;
  }

  void LoadExpressions()
  {
     ExpressionCollection = new ObservableCollection<string>();
     ExpressionCollection.Add("First");
     ExpressionCollection.Add("Second");
  }

网格正确显示集合,但最后添加了一个名为“长度”的额外列,其值是表达式列中字符的长度。为什么要添加它,如何删除它?

1 个答案:

答案 0 :(得分:2)

一种解决方案是使用

<DataGrid AutoGenerateColumns="False"></DataGrid>

然后只生成所需的列。