我目前正在使用MahApps
和MVVM Light
开展项目。
目前,我的解决方案分为:
MyProject.Presentation
,这是安装了MahApps
的WPF应用MyProject.Core
,这是一个包含MVVM Light
,ViewModels,...的类库。 MahApps
附带DialogCoordinator
类和IDialogCoordinator
接口,可以注入位于MyProject.Core
的ViewModel。
但是,为了将IDialogCoordinator
接口注入到我的ViewModel中,......,
private readonly IDialogCoordinator _dialogCoordinator;
public MyViewModel(IDialogCoordinator dialogCoordinator)
{
_dialogCoordinator = dialogCoordinator;
}
...我必须在MahApps
项目中安装MyProject.Core
,我希望将其与任何与UI相关的内容分开。
有没有办法避免这种情况?或者我必须妥协吗?
提前谢谢!
答案 0 :(得分:2)
您总是可以使用自己的抽象抽象出抽象。
也就是说,提供类似于IDialogCoordinator的接口,然后在您的UI中,您可以提供一个使用DialogCoordinator与对话框协调的实现。
我是我自己的爷爷。