2011-01-03 12 views
34

Tengo un formulario WPF con hasta 40 cuadros de texto, con una casilla de verificación para cada uno. Cada cuadro de texto debe habilitarse/deshabilitarse según el valor de su casilla de verificación correspondiente. He visto soluciones donde podemos usar ICommand para lograr esto, pero ¿cómo manejo 40 casos individuales sin tener 40 implementaciones ICommand?Habilitar/deshabilitar el cuadro de texto según la selección de casilla de verificación en WPF usando MVVM

Respuesta

86

Sólo enlazar la propiedad IsEnabled del TextBox a la propiedad de la IsCheckedCheckBox:

<CheckBox Name="checkBox1" /> 
<TextBox IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}" /> 
+0

Sí, me acaba de intentar esto después de la publicación de la cuestión. Esto funciona para mí Es solo que estaba tratando de evitar nombrar cada casilla de verificación para lograr MVVM puro, pero creo que tendré que hacer una excepción. Gracias. – aliensurfer

+2

Estoy de acuerdo. No hagas esto a través de MVVM. Esta característica de habilitar/inhabilitar es una decisión de diseño pura de la interfaz de usuario y no tiene nada que ver con los datos subyacentes de su aplicación. – Dabblernl

+1

@Prakash: ¿Qué te hace pensar que nombrar una casilla de verificación no es MVVM "puro"? Nada en MVVM dice que no debe dar nombre a los elementos de la interfaz de usuario ... –

Cuestiones relacionadas