Comment puis-je dériver une nouvelle classe à partir de DataTemplate et l'utiliser à la place de DataTemplate?Comment dériver une nouvelle classe à partir de DataTemplate et l'utiliser à la place de DataTemplate?
Par exemple, en C#:
public class DerivedDataTemplate : DataTemplate
{
}
Puis en XAML:
<local: DerivedDataTemplate DataType="{x:Type local:SomeType}">
<Grid>
... UI here ...
</Grid>
</local:DerivedDataTemplate>
Lorsque je tente d'utiliser mon modèle de données classe dérivée l'exception de suivi est généré:
système. Windows.Markup.XamlParseException non gérée Message = "L'objet 'Grid' ne peut pas être ajouté à 'DerivedDataTemplate' L'objet de type 'System.Windows.Controls.Grid' ne peut pas être converti d pour taper 'System.Windows.FrameworkElementFactory'.
Est-ce que quelqu'un sait comment contourner cette exception et utiliser avec succès une classe dérivée de DataTemplate?
Par curiosité, pourquoi héritez-vous de DataTemplate? – micahtan
Je voulais fondamentalement pouvoir disposer d'un type de modèle de données spécial auquel je pourrais ajouter des données supplémentaires et utiliser les règles intégrées pour la recherche de ressources et l'instanciation de modèles. J'ai fini par le faire d'une manière différente - mais il aurait été plus simple d'hériter de DataTemplate. –