【问题标题】:Select the first item in a sorted DataGrid选择已排序 DataGrid 中的第一项
【发布时间】:2016-06-15 14:46:55
【问题描述】:

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

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

请帮忙。

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    我不确定这是否适合您,但您可以尝试:

    1. 为您的 ViewModel 命名(如果有的话),以便您可以通过其名称访问它;
    2. 为 DataGrid 的 Loaded 事件注册一个事件处理程序;
    3. 在处理程序中通过var firstItem = YourDataGrid.Items.FirstOrDefault() as YourModel;获取DataGrid的第一项
    4. 将 ViewModel 的 SelectedItem 设置为我们在第 3 点中获得的项目。“YourViewModel.SelectedItem = firstItem;”。如果 SelectedItem 在更改时通知 UI,也就是可观察到的,则您的 UI 应该更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-18
      • 2018-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多