首页 > 解决方案 > 如何从 DataGrid (C#) 中获取数据

问题描述

我想做一个词汇教练。为此,我创建了一个词汇类。一个词汇表具有三个属性(德语单词、另一个语言单词以及是否启用的状态)。所有这些属性都在列表中

    List<String> germanWords = new List<string>();
    List<String> otherWords = new List<string>();
    List<bool> enabled = new List<bool>();
    List<VocabClass> data = new List<VocabClass>();

一切正常,但是当我想更改 DataGrip 中的属性时,我找不到获取新数据并保存它的方法。我试过了

        data = dataGrip.Items;

但后来我收到错误 CS0029 cannot convert "System.Collections.Generic.List" to "System.Windows.Controls.ItemCollection"

标签: c#wpfdatagrid

解决方案


存储的列表Items是通用列表,您必须将其转换为您的列表类型。这可以通过使用 LINQ 轻松完成:

data = dataGrip.Items.Cast<VocabClass>()
                          .Select(item => new VocabClass() { Content = item.Content})
                          .ToList();

推荐阅读