我有一个实现以下接口的用户控件:
public interface IView
{
object DataContext { get; set; }
}
..它是实现以下接口的相应视图模型:
public interface ICertificationViewModel
{
string NumOfCertification { get; set; }
}
我有另一个名为 NavigationService 的服务,它实现了以下接口:
public interface INavigationService<TView,TViewModel>
{
void ShowView<TView,TViewModel,T>(T model) where T:class;
}
我正在使用统一,每当调用导航服务上的 ShowView 方法时,我都需要将一个新的(瞬态)视图和视图模型放在一起。我不能将 View 和 ViewModel 作为构造函数依赖项注入(因为应该创建新实例),并且我不想采用服务定位器路由(即在 ShowView 中调用 unity 来解析视图和视图模型)。有没有办法可以使用统一或其他任何方法来解决这个问题?我到处搜索,但找不到明确的答案。我使用的是 Prism 和 .NET 3.5。我还想保持这种通用性,以便可以使用 NavigationService ShowView 方法解决任何视图和视图模型。
你能帮忙解决一下吗?