2010-07-19 4 views
0

J'ai réussi à créer ma source de données, qui est un objet CLR de la classe Person. La classe Person a un tas de propriétés publiques, telles que Name, Emails, Phones, etc. Je veux que les données lient les emails de la personne (il y a plus d'un email) aux contrôles DataGrid ou ListBox. Je veux être en mesure de choisir les champs de l'e-mail que je souhaite afficher (l'e-mail a un ID de propriété, un e-mail et un type d'e-mail). Si je viens de données bind propriété ItemsSource:Comment lier l'objet CLR à ListBox ou DataGrid à l'aide de Microsoft Expression Blend?

  • pour DataGrid - toutes les propriétés se binded (et je veux sauter la propriété ID)
  • pour ListBox - seule la valeur e-mail est vu, ce type de courrier électronique est manquant.

Comment puis-je faire les choses correctement avec Microsoft Expression Blend? J'ai la dernière version 4 si ça compte pour tout le monde. Merci beaucoup!

Répondre

1

Cliquez sur la petite case à droite de la propriété ItemsSource pour le DataGrid ou dans le mélange ListBox et choisissez « Liaison de données ... »

Si Blend peut déterminer le type de données que vous êtes en utilisant comme DataContext, vous pouvez sélectionner votre collection dans l'onglet "Contexte de données". Si Mélange ne sait pas, choisissez "Utiliser une expression de chemin personnalisé" et entrez le nom de la propriété à lier.

Hope this helps, B

+0

Merci pour vous répondrez Brian. La chose est, j'ai déjà fait ce que tu as écrit. Mon problème est que je ne peux pas choisir laquelle des propriétés d'email je veux montrer. En suivant vos instructions, mon DataGrid affiche toutes les propriétés de l'e-mail, c'est-à-dire l'ID, la valeur e-mail et le type d'e-mail. Je veux choisir lequel de ceux que je veux montrer. – Boris

+0

Gotcha ... Donc, pour les ListBox, le contexte de données est lié, et vous devez lui donner un modèle qui lie aux propriétés sur les éléments individuels. Dans le cas de DataGrid, vous avez deux options: la première est la génération automatique par défaut des colonnes. Si vous souhaitez que le contrôle des colonnes spécifiques s'affiche, vous devez le déclarer. Vérifiez cela: http://windowsclient.net/wpf/wpf35/wpf-35sp1-toolkit-datagrid-feature-walkthrough.aspx –

+0

OK, excellent. Merci pour toute l'aide Brian. – Boris

Questions connexes