2011-07-05 3 views
2

I ont une classe génériqueDataTemplates et types génériques

public abstract class BaseViewModel<T> 

Depuis que je suis en train de créer un DataTemplate qui sera appliquée à toutes les classes qui dérivent de BaseViewModel, je définir le type de BaseViewModel:

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

Cependant, cela ne fonctionne pas car il ressemble à XAML ne supporte pas les types de données génériques.

Y at-il à ce travail contournements?

+0

double possible de [Puis-je spécifier un type générique XAML?] (Http://stackoverflow.com/questions/185349/can-i-specify-a-generic-type-in-xaml) –

Répondre

8

Je voudrais créer une version non générique de BaseViewModel et laissez le générique héritera de lui:

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 
} 

En faisant cela, votre DataTemplate va travailler.