WPF数据网格集selectedItem
我的问题是我想设置selectedItem(在数据网格中标记一行)。 我已经搜索了很多,实际上我希望有一个更好的解决方案,而不是遍历datagrid 我的建议是: 我有一个值为3的数字,我希望标记数字为3的datagrid行。。 我试过这个:WPF数据网格集selectedItem,wpf,datagrid,selecteditem,Wpf,Datagrid,Selecteditem,我的问题是我想设置selectedItem(在数据网格中标记一行)。 我已经搜索了很多,实际上我希望有一个更好的解决方案,而不是遍历datagrid 我的建议是: 我有一个值为3的数字,我希望标记数字为3的datagrid行。。 我试过这个: DataGridRow row = (DataGridRow)gridErrors.ItemContainerGenerator.ContainerFromItem(gridErrors.SelectedItem); if (row !=
DataGridRow row = (DataGridRow)gridErrors.ItemContainerGenerator.ContainerFromItem(gridErrors.SelectedItem);
if (row != null)
{
ErrorInfo info = row.Item as ErrorInfo;
var blubb = from c in this.objectsToSync
where c.Number == info.Number
select c;
if (blubb != null)
{
gridCsvContent.SelectedItem = blubb;
gridCsvContent.ScrollIntoView(blubb);
DataGridRow rowContent = (DataGridRow)gridCsvContent.ItemContainerGenerator.ContainerFromItem(gridCsvContent.SelectedItem);
rowContent.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
}
首先,我提取我的数字所在的DataGridRow(值3)
然后我有一个linq查询,在那里我得到了数字为3的对象。
然后我想设置selectedItem,但之后它为空
是否有一种解决方案,我不必迭代数据网格。。?
有没有办法直接设置所选项目
提前非常感谢!
kr不幸的是,您必须迭代集合以匹配单元格中的现有数据 如果您使用的是MVVM模式,则可以将此逻辑移动到
ViewModel
并直接处理底层数据。您可以创建将SelectedItem绑定到的依赖项属性。我认为您仍然需要代码隐藏中的事件来调用ScrollIntoView