我有一个用于搜索结果的 DataGrid,我希望用户能够单击一行,并加载该客户的详细信息。该行的第一个索引(索引位置 0)具有 ID,因此一旦我获得选定的行,它将非常简单,但是,我无法提取此信息。有没有办法做类似的事情:
string ID = myGrid.selectedRow[0].ToString();
我已经对 selectionChanged 事件进行了编程和触发,我似乎无法将数据输出..
我看到这个标签WPF
,那意味着你正在使用DataBinding
,那意味着你有一个ModelView
或至少Model
。拥有这种架构,尤其是在 WPF 中,永远不会从读取数据UI
,从绑定的数据模型读取数据。
使用 SelectedIndex 确实有一种非常简单的方法可以做到这一点。
int i = yourgrid.SelectedIndex;
DataRowView v = (DataRowView)yourgrid.Items[i]; // this give you access to the row
string s = (string)v[0]; // this gives you the value in column 0.
你也可以这样做: string s = (string)v["columnname"];
这可以保护您免受用户移动列的影响