解决方法
按照Phillip的说法 – DataGrid通常是数据绑定的.下面是我的WPF DataGrid绑定到ObservableCollection< PersonName>的示例.其中PersonName由FirstName和LastName(两个字符串)组成.
DataGrid支持自动创建列,因此示例非常简单.您将看到我可以通过索引访问行,并使用与列名对应的属性名称获取该行中单元格的值.
namespace WpfApplication1 { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); // Create a new collection of 4 names. NameList n = new NameList(); // Bind the grid to the list of names. dataGrid1.ItemsSource = n; // Get the first person by its row index. PersonName firstPerson = (PersonName) dataGrid1.Items.GetItemAt(0); // Access the columns using property names. Debug.WriteLine(firstPerson.FirstName); } } public class NameList : ObservableCollection<PersonName> { public NameList() : base() { Add(new PersonName("Willa","Cather")); Add(new PersonName("Isak","Dinesen")); Add(new PersonName("Victor","Hugo")); Add(new PersonName("Jules","Verne")); } } public class PersonName { private string firstName; private string lastName; public PersonName(string first,string last) { this.firstName = first; this.lastName = last; } public string FirstName { get { return firstName; } set { firstName = value; } } public string LastName { get { return lastName; } set { lastName = value; } } } }