2010-02-05 4 views
10

Question: Comment pouvez-vous transmettre une instance d'un objet du modèle de vue à un convertisseur avec la valeur à convertir en convertisseur? Info: Je travaille sur un programme d'inventaire pour les personnes dans notre usine qui reçoivent des envois entrants. Lors de la réception d'un envoi, ils indiquent qui était l'entreprise de transport et qui était le chauffeur. Pour ce faire, je veux avoir mis en place une paire de combos. Quand ils sélectionnent la zone de liste déroulante de l'expéditeur et sélectionnent l'expéditeur, la zone de liste déroulante du pilote reflète ce changement.Passage de plus d'un argument à un convertisseur

Mon plan est d'avoir une liste d'expéditeurs (qui ont une liste de pilotes) dans mon ShipmentViewModel que la zone de liste déroulante de l'expéditeur se lie à. Cette liste d'expéditeurs est seulement une liste de GUID que je tire de la base de données. l'expéditeur de l'envoi aura une propriété distincte pour l'expéditeur sélectionné ainsi que le conducteur sélectionné. Ce que je voudrais faire est de passer l'instance de la liste de l'expéditeur au convertisseur avec le GUID de l'expéditeur (Gotten from the ShipmentVM). Le convertisseur compare le GUID à la liste des expéditeurs et renvoie à la zone de liste déroulante une instanciation de ShipperVM. la zone de liste déroulante du pilote est liée à la liste des pilotes de ShipperVM. Passez cette liste avec le GUID du pilote (également obtenu à partir de ShipmentVM) vers un autre convertisseur qui renvoie le nom du pilote.

Je programme en Visual Basic et XAML selon le schéma M-V-VM.

P.S. Dire "Vous ne pouvez pas passer plus d'un argument à un convertisseur." est une réponse totalement légitime. J'ai juste besoin de confirmation. Je commence à penser que c'est le cas ...

Répondre

15

Si vous devez passer plusieurs "choses" à un convertisseur, ce que vous voulez réellement est un MultiValueConverter, qui peut accepter N nombre de valeurs d'entrée.

http://msdn.microsoft.com/en-us/library/system.windows.data.imultivalueconverter.aspx

+0

corriger réponse-- –

+0

Je suis Impatient attente d'une réponse, donc je réellement décidé de faire les choses d'une manière différente. Merci quand même! Si j'avais attendu, je suis sûr que c'était la bonne réponse. – Narcolapser

Questions connexes