我的应用程序调用中有许多用户控件,然后是 View1、View2 ......
我希望它们看起来像
public View1 : ViewBase<View1ViewModel>
和 ViewBase 看起来像
public class ViewBase<T> : UserControl where T : new()
{
private T vm = new T();
public T ViewModel
{
get { return vm; }
set { vm = value; }
}
public ViewBase()
{
this.DataContext = ViewModel;
}
}
现在这当然不起作用,因为我的视图都是从 xaml 生成的文件中其他地方的 UserControl 派生的。我是否有任何选项可以让它工作。ViewBase 必须是接受 View 将公开的视图模型的泛型类型。我自己认为这很聪明:-)但它不起作用吗?