数据模板和泛型类型

本文关键字:泛型类型 数据 | 更新日期: 2023-09-27 18:01:20

我有一个通用类

public abstract class BaseViewModel<T>

因为我试图创建一个DataTemplate,将应用于所有类派生自BaseViewModel,我设置类型为BaseViewModel:

<DataTemplate DataType="{x:Type vm:BaseViewModel}">

但是,这不起作用,因为看起来xaml不支持泛型数据类型。

是否有其他解决方法?

数据模板和泛型类型

我会创建BaseViewModel的非泛型版本,并让泛型版本从它继承:

public abstract class BaseViewModel
{
    // members that are not T-specific, if any
    // (not required, but could prove useful)
}
public abstract class BaseViewModel<T> : BaseViewModel
{
    // T-specific members
}

通过这样做,您的DataTemplate将工作