Если бы только Silverlight имел привязку RelativeSource FindAncestor ...
Одной из хакерских идей, которую я мог бы предложить, было бы поместить ваши элементы редактирования в RowDetailsTemplate на самой DataGrid, а затем установить для RowDetailsVisibilityMode значение VisibleWhenSelected.
Возможно, это не то, что вам нужно, но это, вероятно, "решает" ваш конкретный вариант использования.
Если этого не произойдет, то я, вероятно, нарушу MVVM здесь (очень осторожно). Обычно DataGrids - это крайний дочерний случай; они почти все нуждаются в некотором разнообразном коде позади.