private void myDG_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            if (e.EditAction == DataGridEditAction.Commit)
            {
                var column = e.Column as DataGridBoundColumn;

                if (column != null)
                {
                    //var bindingPath = (column.Binding as Binding).Path.Path;

                    VerbTableEntry.Tense t = VerbTableEntry.TenseFromColumn(column.DisplayIndex - 1);

                    {
                        int rowIndex = e.Row.GetIndex();
                        var el       = e.EditingElement as TextBox;
                        // rowIndex has the row index
                        // bindingPath has the column's binding
                        // el.Text has the new, user-entered value

                        FrameworkElement fe   = e.Column.GetCellContent(e.Row);
                        VerbTableEntry   item = (VerbTableEntry)fe.DataContext;
                        item.SetValue(t, el.Text);

                        //if (!item.PresentMatch)
                        //((TextBox)fe).Background = Brushes.PaleVioletRed;

                        rowIndex++;
                        if (rowIndex > 5)
                        {
                            rowIndex = 0;
                        }

                        //Advance to next row (same column)

                        VerbDataGrid.SelectedCells.Clear();


                        //In order to invoke the cell colour style triggers - null out and reset the DG item source // frig!!
                        FlashGrid();

                        DataGridCell cell = DGUtil.GetCell(VerbDataGrid, rowIndex, column.DisplayIndex);
                        if (cell != null)
                        {
                            cell.IsSelected = true;
                            cell.Focus();
                            VerbDataGrid.BeginEdit();
                        }
                    }
                }
            }
        }
        public VerbTableEntry(string person, string pr, string im, string pret, string cond, string fut, bool createcopy = false)
        {
            Person = person;

            _items[0] = pr;
            _items[1] = pret;
            _items[2] = im;
            _items[3] = cond;
            _items[4] = fut;

            SetFlags();

            if (createcopy)
            {
                _master = new VerbTableEntry(person, pr, im, pret, cond, fut);
            }
        }