使用 MVVM Light 正确实现 MahApp 的 DialogCoordinator

Proper MVVM implementation of MahApp's DialogCoordinator using MVVM Light

我目前正在使用 MahAppsMVVM Light 进行一个项目。 目前,我的解决方案分为:

MahApps 带有一个 DialogCoordinator class 和一个 IDialogCoordinator 接口,将注入我位于 MyProject.Core.

的 ViewModels

但是,为了像这样将 IDialogCoordinator 接口注入我的 ViewModels,...

private readonly IDialogCoordinator _dialogCoordinator;

public MyViewModel(IDialogCoordinator dialogCoordinator)
{
    _dialogCoordinator = dialogCoordinator;
}

...我必须在我的 MyProject.Core 项目上安装 MahApps,我想将其与任何 UI 相关的东西分开。

有办法避免吗?还是我必须在那个时候妥协?
提前致谢!

你总是可以用你自己的抽象来抽象掉抽象。

也就是提供一个类似于IDialogCoordinator的接口,那么在你的UI中你可以提供一个使用DialogCoordinator来协调对话框的实现

而且我是我自己的爷爷。