2010-07-08 21 views
2

Mon XAML est la suivante

WPF corelating Multibindings et les valeurs Converter []

<Button.IsEnabled > 
    <MultiBinding Converter="{StaticResource IsEnabledConverter}" > 
     <Binding Path="aaa"/> 
     <Binding Path="bbb"/> 
     <Binding Path="ccc"/> 
     <Binding Path="ddd"/> 
     <Binding Path="eee"/> 
     <Binding Path="fff"/> 
     <Binding Path="ggg"/> 
     <Binding Path="hhh"/> 
     <Binding Path="iii"/> 
     <Binding Path="jjj"/> 
    </MultiBinding> 
</Button.IsEnabled> 



Maintenant, dans ma fonction Convert je reçois 10 valeurs et son mal de tête pour maintenir la séquence de liaison et le numéro d'index de Valeurs de collection en synchronisation. Il doit y avoir une meilleure façon de connecter ces deux. Quelqu'un peut-il s'il vous plaît laissez-moi savoir comment?

+0

Bonne question, hier moi et mon collègue ont également été d iscussing la même chose. Dans l'attente de quelques bonnes façons de le faire. – akjoshi

Répondre

2

Au lieu d'utiliser un convertisseur du tout, se lient à une propriété dans votre viewmodel qui fait la conversion

public bool IsEnabled 
{ 
    get 
    { 
     return (aaa || bbb || ccc || ddd || eee) 
       && fff && ggg && hhh && iii && jjj; 
    } 
} 

 

<Button IsEnabled="{Binding Path=IsEnabled}" /> 
+0

hmmm .. y n'a pas pensé à cela ... marquera votre réponse comme correcte une fois que je l'implémente. –

+0

Un problème, le code sur lequel je travaille utilise actuellement la liaison de modèle directe, et je ne peux pas passer de ce modèle à un ViewModel comme il est utilisé à beaucoup d'endroits :( –