aliensurfer
aliensurfer

Reputation: 1640

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

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?

Upvotes: 63

Views: 76432

Answers (2)

Wesley Kenis
Wesley Kenis

Reputation: 127

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

Upvotes: 1

Thomas Levesque
Thomas Levesque

Reputation: 292415

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}" />

Upvotes: 126

Related Questions