Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Enable/disable textbox based on checkbox selection in WPF using MVVM

Tags:

mvvm

wpf

I have a WPF form with as many as 40 textboxes, with a checkbox for each. Each textbox should be enabled/disabled based on the value of its corresponding checkbox. I've seen solutions where we can use ICommand to achieve this, but how do I handle 40 individual cases without having 40 ICommand implementations?

like image 612
aliensurfer Avatar asked Jan 03 '11 12:01

aliensurfer


2 Answers

Just bind the IsEnabled property of the TextBox to the IsChecked property of the CheckBox:

<CheckBox Name="checkBox1" />
<TextBox IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}" />
like image 76
Thomas Levesque Avatar answered Oct 20 '22 22:10

Thomas Levesque


if you have 40 controls like this, I would create a new control containing the checkbox and the textbox. The you can use that new control without the need to implement 40 commands, instead your new control has a single command implementation. and this is also less code to maintain as additional benefit

like image 26
Wesley Kenis Avatar answered Oct 20 '22 21:10

Wesley Kenis