如何在DataGrid的LoadingRow事件处理程序中使用SelectedItem

本文关键字:程序 SelectedItem 事件处理 LoadingRow DataGrid | 更新日期: 2023-09-27 18:02:36

我想简单地将Datagrid的selectedItem设置为传入的loadingRow。我试过了:

private void call_dataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
      if (((Call) e.Row.DataContext).HasValidationErrors)
      {
          call_dataGrid.SelectedItem = (Call)e.Row.DataContext;
      }
}

它肯定命中了赋值。但是什么也没发生。如果我从按钮的点击事件处理程序运行相同的代码,它工作得很好。尽管文档声称:

在DataGridRow实例化之后发生,以便您可以自定义

我认为只要行不呈现,我就不能在dataGrid中选择它。这是非常不幸的。我是否可以使用其他事件来实现相同的目标?我需要知道当一行被添加到DataGrid并将其设置为selectedItem。

许多谢谢,

如何在DataGrid的LoadingRow事件处理程序中使用SelectedItem

您是否尝试使用行本身的加载事件?例如:

e.Row.Loaded += (s,_) => call_dataGrid.SelectedItem = (s as DataGridRow).DataContext;