如何在DataGrid的LoadingRow Eventhandler中使用SelectedItem?

时间:2011-07-17 10:31:45

标签: c# .net wpf silverlight datagrid

我想简单地将Datagrid的selectedItem设置为传入的loadRow。 我试过这个:

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。

非常感谢,

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用行本身的加载事件?例如像这样的东西

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