'Prism 8 , IDialogWindow keynotfound Exception in WPF C#

I used Prism 8.1 and Unity in my WPF Project. I want to implement IDialogWindow but get exception error...

Prism.Ioc.ContainerResolutionException: 'An unexpected error occurred while resolving 'System.Object', with the service name 'MyDialogWindow'' InnerException KeyNotFoundException: No registered type Object with the key MyDialogWindow.

what is the problem ? i am not sure if this is a bug in prism or i am doing wrong because everything if fine with IDialogAware and ... but not ok with IDialogWindow

Regards

App.xaml.cs

protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
    containerRegistry.RegisterDialogWindow<MyDialogWindow>(nameof(MyDialogWindow));
}

MainWindowViewModel.cs

private IRegionManager _regionManager;
private IDialogService _dialogService;

public MainWindowViewModel(IDialogService dialogService, IRegionManager regionManager)
{
    _dialogService = dialogService;
    _regionManager = regionManager;

    _dialogService.ShowDialog("MyDialogWindow");
}

MyDialogWindow.xaml.cs

public partial class MyDialogWindow : Window, IDialogWindow
{
    public MyDialogWindow()
    {
        InitializeComponent();
    }

    public IDialogResult Result { get; set; }
}

MyDialogWindowViewModel.cs

public class MyDialogWindowViewModel : IDialogWindow
{
    public MyDialogWindowViewModel()
    {

    }

    public object Content { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public Window Owner { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public object DataContext { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public IDialogResult Result { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
    public Style Style { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }

    public event RoutedEventHandler Loaded;
    public event EventHandler Closed;
    public event CancelEventHandler Closing;

    public void Close()
    {
        throw new NotImplementedException();
    }

    public void Show()
    {
        throw new NotImplementedException();
    }

    public bool? ShowDialog()
    {
        throw new NotImplementedException();
    }
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source