Existe-t-il un contrôle dans silverlight pour regrouper les contrôles ensemble pour la liaison de données. Par exemple, disons que j'ai un objet Person et que je veux afficher fname, lname, age, height, etc. dans TextBlocks. Existe-t-il un contrôle que je peux utiliser pour regrouper ces contrôles TextBlock ensemble et définir le ItemSource sur ce contrôle similaire à la façon dont vous définissez le ItemSource sur un DataGrid, puis lier chaque colonne?Contrôle Silverlight pour regrouper les autres contrôles ensemble pour la liaison de données
Répondre
Je pense que l'une de ces réponses est correcte, mais je ne pense pas que fonctionneront/sont app approprié pour mon application. L'approche MVVM est exagérée pour mon application et les deux autres approches ne fonctionneront pas pour moi pour diverses raisons. Je vais tout faire dans le code-behind.
Vous pouvez lire cet article sur MVVM http://msdn.microsoft.com/en-us/magazine/dd419663.aspx
Il semble que vous devez créer un « PersonView » et un « PersonViewModel » (et probablement un « PersonCollectionViewModel ») Cela vous permettra de lier la contrôles sur votre "PersonView" (A Silverlight UserControl) à la "PersonViewModel".
Groupez les TextBlocks dans n'importe quel contrôle de disposition et liez DataContext du contrôle à Person. S'il n'est pas explicitement défini, le contexte de chaque TextBlock sera relatif au parent.
<UserControl DataContext="">
<UserControl.DataContext>
<SomeViewModel />
</UserControl.DataContext>
<Grid DataContext="{Binding ThePerson}">
<TextBlock Text="{Binding fname}"/>
<TextBlock Text="{Binding lname}"/>
<TextBlock Text="{Binding age}"/>
<TextBlock Text="{Binding height}"/>
</Grid>
</UserControl>
Voir classe modèle ...
public class SomeViewModel
{
public Person ThePerson { get;set; }
}
Vous pouvez utiliser DataForm contrôle et définissez sa « IsReadOnly » à True, ce contrôle habituellement utilisé pour modifier les données, et souvenez-vous de définir AutoGenerateFields = » True » ...
PS: Je suis en supposant que vous utilisez le service Ria avec silverlight
- 1. algorithme pour regrouper tous les cycles Ensemble
- 2. Quel événement de contrôle utilisateur intervient entre la liaison de données (autres contrôles) et le rendu?
- 3. silverlight liaison problème imbriqué contrôles
- 4. Intercepter un événement de liaison de données post pour Silverlight
- 5. Liaison Silverlight: les contrôles utilisateur à l'intérieur de la grille de données
- 6. Les avantages d'utiliser les contrôles de source de données pour la liaison
- 7. Comment regrouper, placer et filtrer un ensemble de résultats pour un ensemble de données très volumineux
- 8. Silverlight - Liaison de contrôle utilisateur
- 9. Liaison pour les contrôles utilisateur incorporés dans la page
- 10. la liaison de données et contrôle
- 11. Liaison pour les contrôles de contenu de TabItem
- 12. Silverlight: Difficile avec la liaison de données
- 13. Liaison de données de contrôle utilisateur dans Silverlight/MVVM
- 14. Delphi: Affichage d'un sous-ensemble d'un ensemble de données dans les contrôles sensibles aux données
- 15. Silverlight Liaison de données d'un contrôle à un autre
- 16. Sélection de la liaison de données Silverlight?
- 17. Accès aux autres contrôles par nom dans un Silverlight ControlTemplate
- 18. Comment utiliser la réflexion pour obtenir l'expressionBindingExpression (et la valeur) pour les contrôles ayant une propriété ContentProperty dans Silverlight
- 19. Données de contrôle utilisateur Silverlight 3 Liaison en xaml
- 20. Problème de liaison de données Silverlight DataGrid
- 21. requête SQL pour regrouper les données de deux tables
- 22. Contrôle de l'organigramme Silverlight
- 23. Silverlight - liaison pour contrôler borderthickness
- 24. Page automatiquement entre les contrôles silverlight
- 25. Méthode générique pour trouver tous les contrôles TextBox dans Silverlight
- 26. Silverlight 4: Liaison à un calcul de propriétés de contrôle
- 27. Plusieurs modèles de contrôle pour un contrôle personnalisé dans Silverlight
- 28. Comment faire pour activer les contrôles de fenêtre (NSTextField, NSCheckbox et etc) dans la liaison manuelle
- 29. liaison de données pour le contrôle YUI Treeview en C#
- 30. Liaison de données Silverlight pour la collection dans le panneau de pile
Ensuite, comment lier la grille à une instance spécifique de la personne? – PhilBrown
Êtes-vous lié à la personne dans votre vue maintenant? Comment? Peut-être pourriez-vous clarifier un peu mieux ce que vous essayez d'accomplir. Cherchez-vous un contrôle réutilisable ou juste un moyen d'organiser logiquement la liaison? Avez-vous une seule personne ou une collection? L'hypothèse dans ma réponse est que vous avez une propriété publique Personne sur DataContext UserControl. Avec MVVM, ce contexte de données serait un modèle de vue. J'ai mis à jour le code pour mieux le démontrer. –
J'ai peut-être mal compris ce que vous cherchez. Cette réponse fournirait un moyen de grouper les blocs de texte associés (un ContentControl avec un DataTemplate fonctionnerait de la même manière). Si vous cherchez un UserControl séparé pour encapsuler ceci, regardez dans la réponse de Ben. Si vous avez une collection de personnes, regardez dans un ItemsControl comme ListBox et définissez le DataTemplate. Les éléments dans le DataTemplate seront de même relatif. –