如何从 DataGrid 中获取数据 (C#)
How to get the data out of a DataGrid (C#)
我想做一个词汇训练师。为此,我为词汇表创建了一个 class。一个 Vocabulary 具有三个属性(德语单词、另一个语言单词和启用与否的状态)。所有这些属性都在列表中
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 无法将 "System.Collections.Generic.List" 转换为 "System.Windows.Controls.ItemCollection"
存储在Items
中的列表是通用列表,您必须将其转换为您的列表类型。
这可以通过使用 LINQ 轻松完成:
data = dataGrip.Items.Cast<VocabClass>()
.Select(item => new VocabClass() { Content = item.Content})
.ToList();
我想做一个词汇训练师。为此,我为词汇表创建了一个 class。一个 Vocabulary 具有三个属性(德语单词、另一个语言单词和启用与否的状态)。所有这些属性都在列表中
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 无法将 "System.Collections.Generic.List" 转换为 "System.Windows.Controls.ItemCollection"
存储在Items
中的列表是通用列表,您必须将其转换为您的列表类型。
这可以通过使用 LINQ 轻松完成:
data = dataGrip.Items.Cast<VocabClass>()
.Select(item => new VocabClass() { Content = item.Content})
.ToList();