我如何知道行何时已添加到WPF4数据网格?

我如何知道行何时已添加到WPF4数据网格?,wpf,events,datagrid,Wpf,Events,Datagrid,我已经用传统的方式将WPF4数据网格绑定到ObervableCollection。我可以添加到集合中,并在网格中获得新行。一切都好。但是,我如何知道何时添加了新行以及我可以对它做些什么?我想将焦点设置为新行中的特定单元格,并使其可编辑。似乎没有类似“newrow added and you candomething with it”的事件 编辑11:39 12月4日: 谢谢大家的回复。尽管有关于做什么或不做什么的讲座,我仍然对如何做到这一点感到困惑。我添加到ObervableCollection

我已经用传统的方式将WPF4数据网格绑定到ObervableCollection。我可以添加到集合中,并在网格中获得新行。一切都好。但是,我如何知道何时添加了新行以及我可以对它做些什么?我想将焦点设置为新行中的特定单元格,并使其可编辑。似乎没有类似“newrow added and you candomething with it”的事件

编辑11:39 12月4日:
谢谢大家的回复。尽管有关于做什么或不做什么的讲座,我仍然对如何做到这一点感到困惑。我添加到ObervableCollection并获得一个用户可以编辑的新行,但我希望避免用户需要在新行中单击。在DataGrid中添加新行后,我希望光标处于编辑模式下的特定单元格中

这似乎是个奇怪的问题。。。您说您以传统方式将WPF4数据网格绑定到ObervableCollection,您可以添加到集合中,并在我的网格中获得一个新行。但你的问题是,我如何知道何时添加了一行

您可以知道何时添加了一行。。。因为当您向集合中添加项目时。。。框架将向
数据网格添加一行


此外,如果您确实正确地使用了MVVM,那么您就不会在意UI行何时实际添加,因为在使用WPF和MVVM时,我们操作的是数据,而不是UI元素。在这种情况下,您可以将一些
bool
属性绑定到
IsFocused
属性,并从视图模型中进行设置。

除了答案和注释之外:

如果向集合中添加新行

 var myNewRow = new MyObject(){Name="its New"};
 this.MyCollection.Add(myNewRow);//<-- this new row is added to you collection, and your datagrid will show the new row

 myNewRow.Name = "Test1";//if you implment INotifyPropertyChanged in your MyObject, the new Value its displayed in the grid
var myNewRow=newmyobject(){Name=“itsnew”};

this.MyCollection.Add(myNewRow)//我以mvvm的方式使用datagrid。因此,我设置UserCanAddRows=false,但给用户一个“新行”按钮。在这个按钮命令中,我向我的源集合添加了一个新项。确实如此,但是您如何知道该行何时被添加到数据网格?您不需要知道这一点,因为如果您将itemssource绑定到oberservablecollection,那么您就知道只要您向集合添加了一个新项,就会向数据网格添加一个新行。是的,但它并没有立即添加。您不能在一行代码中添加到ObervableCollection,然后在下一行访问DataGrid中的新行,因为它还不在那里。无论如何,您不应该在代码隐藏中访问UI行元素。。。没有必要这样做。要对DataGrid中新添加的行执行某些操作,我需要知道它是何时创建的。我希望在添加一行时触发一个事件,该行可以绑定到命令。我希望新创建行的特定单元格的光标可以编辑。