J'ai un formulaire WPF avec jusqu'à 40 zones de texte, avec une case à cocher pour chacune. Chaque zone de texte doit être activée/désactivée en fonction de la valeur de sa case à cocher correspondante. J'ai vu des solutions où nous pouvons utiliser ICommand
pour y parvenir, mais comment gérer 40 cas individuels sans avoir 40 implémentations ICommand
?
Liez simplement la propriété IsEnabled
de TextBox
à la propriété IsChecked
de CheckBox
:
<CheckBox Name="checkBox1" />
<TextBox IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}" />
si vous avez 40 contrôles comme celui-ci, je créerais un nouveau contrôle contenant la case à cocher et la zone de texte. Vous pouvez utiliser ce nouveau contrôle sans avoir à implémenter 40 commandes, mais votre nouveau contrôle a une implémentation de commande unique. et c'est aussi moins de code à conserver comme avantage supplémentaire