использовать службу сообщений.При этом вы можете закрыть окно во ViewModel, поэтому нет необходимости давать функцию закрытия в Backend.Свойство Add Command для кнопки Cancel
<Button Content="Cancel" Command="{Binding CancelCommand}"/>
Теперь в ViewModel добавьте свойство RelayCommand в это добавление
Messenger.Default.Send<bool>(true, typeof(XViewModel));
Теперь в BackEnd этого userControl добавлено следующее в конструктор.
Messenger.Default.Register<bool>(this, typeof(ScheduleViewModel), (b) =>
{
if (b == true)
{
this.DialogResult = true;
}
});
Теперь вы можете закрыть окно ... Это, безусловно, поможет вам ...