Не уверен что мой способ корректный, но я делал так:
При нажатии кнопки редактировать инициализирую viemodel и форму, потом подписываюсь на событие завершения редактирования, к примеру кнопка ОК на той форме, кидаю вьюмодел в datacontext той формы и показываю ее. Получается когда та форма завершит редактирование, тогда вы получите событие которое к примеру у вас заменит значение выделенного елемента.
Ещё есть вариант как по мне лучше и проще, сделайте юзер контрол контрол имеет текстбокс и тексблок, по умолчанию текстбокс(он сверху) скрыт, когда текст блок ловит событие двойного клика измените видимость текстбокса он даст возможность редактировать текст, ну а дальше думаю понятно :)