2011-09-30 5 views
1

Je suis nouveau sur WPF et je n'ai pas encore utilisé MVVM, mais je pense que je suis dans une situation où cela pourrait aider.Utilisation de MVVM pour résoudre l'interaction Combobox

Dans mon programme j'ai plusieurs comboboxes qui ont toutes les mêmes combobox et quand l'utilisateur fait une sélection dans l'une des comboboxes la comboboxitem sélectionnée est désactivée dans les autres comboboxes. Si l'utilisateur a sélectionné le combobox avec la valeur 'a' dans la combobox # 1 et a sélectionné le combobox avec la valeur 'b' dans la combobox # 2, les combobox avec les valeurs 'a' et 'b' sont désactivées dans les comboboxes restantes

Quoi qu'il en soit, j'ai du mal à faire cela par programme dans le code-behind et j'espérais que quelqu'un pourrait décrire comment aborder ce problème en utilisant MVVM.

Merci MG

+0

Avant cela peut raisonnablement répondre, je pense qu'il serait utile que vous avez publié une partie de votre code, où vous essayez d'utiliser les concepts MVVM pour le faire. Je voudrais voir une version simplifiée de votre classe ViewModel, et le xaml pour la vue. – EtherDragon

+0

Aussi le titre de votre question n'est pas très descriptif. – RandomEngy

+0

Merci pour la suggestion - J'ai changé le titre de la question. Aussi, je me demande si ce problème est facilement résolu dans MVVM car je n'ai pas encore commencé à utiliser MVVM. (Mon exemple de code n'est pas dans MVVM.) – zzMzz

Répondre

1

Voici un des best primers on MVVM applied to WPF, with first rate code.

Ce n'est pas une lecture rapide, et ne soyez pas frustré si même des choses apparemment simples prennent un certain temps à grok.

Pour répondre plus directement à votre question, vous utilisez MVVM pour faire fonctionner la liaison de données (sans parler de votre logique testable). Donc, pour un ComboBox, vous le fournissez d'abord avec des données. probablement en utilisant un ObservableCollection qui a le support pour la liaison de données dedans. Vous pouvez synchroniser le (s) élément (s) sélectionné (s) dans le (s) ComboBox (s) avec une ou plusieurs propriété (s) dans votre modèle de vue, et changer le contenu de celui-ci en fonction d'un changement dans l'élément sélectionné.

Suggérez-lui de lire cet article et de travailler sur du code, puis de poser des questions plus ciblées en utilisant du code.

HTH,
Berryl

+0

Merci Berryl! C'est exactement ce que je cherche. – zzMzz

Questions connexes