使用MVVM基于WPF中的复选框选择启用/禁用文本框

ali*_*fer 46 wpf mvvm

我有一个包含多达40个文本框的WPF表单,每个文本框都有一个复选框.应根据其相应复选框的值启用/禁用每个文本框.我已经看到了可以ICommand用来实现这一目标的解决方案,但是如何在没有40个ICommand实现的情况下处理40个个案?

Tho*_*que 106

只需将IsEnabled属性绑定TextBox到以下IsChecked属性CheckBox:

<CheckBox Name="checkBox1" />
<TextBox IsEnabled="{Binding ElementName=checkBox1, Path=IsChecked}" />
Run Code Online (Sandbox Code Playgroud)

  • 我同意.不要通过MVVM这样做.这个启用/禁用thingy是纯粹的用户界面设计决策,与应用程序的底层数据无关. (4认同)
  • @Mark,你可以这样做:https://gist.github.com/thomaslevesque/3713bed71a486d02858a,将`CheckBox.IsChecked`绑定到`IsTextBoxDisabled`,将`TextBox.IsEnabled`绑定到`IsTextBoxEnabled` (2认同)