2010-06-12 2 views
1

J'ai défini dans mon code deux classes: une classe "Person" avec la propriété publique "Age" et "Name", et une classe "People" qui hérite de Generic.List (de T).Le type {0} ne supporte pas le contenu direct - WPF/XAML

Le code pour la classe de personnes est comme suit:

Public Class People 
    Inherits Collections.Generic.List(Of Person) 

    ... 
End Class 

Ce que je veux atteindre est d'initialiser directement la classe populaire, et ajouter une personne INDIVIDUELLEMENT en XAML, à savoir:

<local:People x:Key="Familty"> 
     <local:Person Age="11" Name="John" />   
     <local:Person Age="12" Name="John2" /> 
     ... 
</local:People> 

Mais je reçois toujours une erreur dans XAML en disant: Le type 'People' ne supporte pas le contenu direct.

Une idée de comment résoudre ce problème?

Merci beaucoup!

+0

Utilisez-vous les propriétés de dépendance pour "Age" et "Name"? –

+0

vous aurez également besoin d'un modèle pour la personne et les personnes, afin que XAML sache comment le rendre. –

Répondre

1

Que voulez-vous exactement faire?

Il semble que vous essayez de définir un contenu à un contrôle (qui doit être une classe ContentControl/héritée). Notez également que vous définissez le contenu dans xaml, ce qui signifie qu'il doit être au moins un UIElement. Si vous souhaitez représenter une liste de personnes, veuillez définir un dataTemplate pour ce dataType et avoir une représentation visuelle, puis définir la ItemsSource (de People qui devrait être un contrôle d'éléments) à une liste (ou une collection observable) de gens.

Vous devez envisager de séparer l'interface utilisateur du modèle.

Alors, qu'essayez-vous exactement de faire?

Questions connexes