首页 文章

选择已排序的DataGrid中的第一个项目

提问于
浏览
1

我有一个带有用户可排序列的DataGrid . ItemSorce绑定到应用默认排序的CollectionViewSource . CollectionViewSource又绑定到ObservableCollection . 我想在屏幕首次加载时选择第一个项目 . 设置SelectedIndex不起作用,因为我将SelectedItem绑定到最初为null的属性,并且我需要将绑定设置为双向 .

我无法将绑定到SelectedItem的属性设置为第一个项目,因为集合在视图侧排序,我不知道第一个项目是什么 .

请帮忙 .

1 回答

  • 0

    我不确定这对你有用,但你可以尝试:

    • 为ViewModel命名(如果有的话),以便按名称访问它;

    • 将事件处理程序注册到DataGrid的Loaded事件;

    • 在处理程序中通过 var firstItem = YourDataGrid.Items.FirstOrDefault() as YourModel; 获取DataGrid的第一项

    • 将ViewModel的 SelectedItem 设置为我们的项目've got in point 3. ' YourViewModel.SelectedItem = firstItem;' . 如果SelectedItem在更改时通知ui,也就是可观察的,则应更新UI .

相关问题