protected override void PrepareContainerForItemOverride(DependencyObject element, object item) { DataGridRow row = (DataGridRow)element; row.SetBinding(EFDataBoxAssist.IsRowMouseOverProperty, new Binding(nameof(row.IsMouseOver)) { Source = row, Mode = BindingMode.OneWay }); row.SetBinding(EFDataBoxAssist.IsRowSelectedProperty, new Binding(nameof(row.IsSelected)) { Source = row, Mode = BindingMode.OneWay }); var isAddedItem = item == EFDataBoxAssist.GetAddedItem(this); EFDataBoxAssist.SetIsAddedItem(row, isAddedItem); base.PrepareContainerForItemOverride(element, item); }