Dans une boîte de dialogue de mon application, j'ai une collection observable (stockée ailleurs) liée à une liste d'onglets. Lorsque je ferme et rouvre la boîte de dialogue, l'onglet actuellement sélectionné est perdu et se termine par le premier. Comment configurer mes onglets pour que l'onglet sélectionné persiste? J'ai eu l'impression que la collection observable avait la propriété "current item", mais cela ne semble pas être le cas. J'ai regardé ItemCollection et CollectionView, qui ont une propriété d'élément en cours, mais je ne suis pas sûr si cela m'intéresse.Collection observable avec l'objet actuel?
0
A
Répondre
1
Dans l'événement Closing
de votre boîte de dialogue, enregistrez l'élément actuellement sélectionné TabItem
.
En cas Loaded
de votre dialogue, dites simplement:
yourTabControl.SelectedItem = _savedTab;
code-behind est la meilleure façon d'y arriver. ObservableCollection
ne va pas vous aider.
2
Ceci est une vieille question, mais je vais répondre à ceux qui pourraient être à la recherche de cette ...
La façon dont je manié cela en utilisant le modèle MVVM devait avoir sur mon ViewModel à la fois un ObservableCollection auquel TabControl lie son ItemsSource ainsi qu'une propriété ActiveItem à laquelle le TabControl lie sa propriété SelectedItem.
Cela fonctionne plutôt bien et conserve les principes de conception de MVVM (c'est-à-dire que le ViewModel ne doit pas être conscient de la vue).
Questions connexes
- 1. Propriété de collection observable modifiée sur l'élément de la collection
- 2. Fusion de deux collections Observable
- 3. LINQ observable, existe?
- 4. Qu'est-ce contrat de données (catégorie de biens) et collection observable
- 5. Comment lier des éléments d'un TabControl à une collection observable dans wpf?
- 6. Comment lier une collection observable à un tableau de contrôles utilisateur?
- 7. Afficher le message par itération de la collection observable contenant la date et l'heure
- 8. RemoveAt dans Observable Collection, modifie également la propriété IsSelected dans ListView
- 9. Structure immutable avec collection
- 10. Liste générique Silverlight à l'intérieur d'une classe devenant une collection observable lorsqu'elle est appelée depuis un service web
- 11. recomposer la collection avec linq
- 12. Travailler avec ASP.NET collection Cookies
- 13. audit LINQ utilisateur actuel avec l'application web
- 14. Ruby/Rails Collection Collection
- 15. Liaison à l'élément actuel (WPF)
- 16. Classe de dictionnaire général observable pour DataBinding/WPF C#
- 17. une collection de énumérations avec NHibernate
- 18. Désactiver la propriété/collection Chargement avec Hibernate
- 19. De retour une collection avec l'Ajax demande
- 20. Vérifier la taille d'une collection avec JSTL
- 21. Commander par collection compter avec ICriteria & NHibernate
- 22. select collection d'objets d'enfant avec lambdas
- 23. Conserver les champs de collection avec hibernate
- 24. XmlSerializer et Collection propriété avec setter privé
- 25. Remplir la collection avec des tableaux
- 26. détecter l'onglet actuel
- 27. System.IO.Directory.CreateDirectory avec des autorisations uniquement pour cet utilisateur actuel?
- 28. Comment programmer le niveau actuel de la batterie avec COCOA
- 29. Comment puis-je usurper l'identité de l'utilisateur actuel avec IronPython?
- 30. Dossier actuel Compact Framework
+1 Meilleure approche MVVM centrée. Merci beaucoup. –