C# 使用复选框设置可选属性null
我正在使用MVVM模式创建WPF应用程序,我有9个文本框,它们绑定到我的viewmodel中的相应属性,我还有9个复选框,每个文本框的属性“IsEnabled”绑定到复选框的“IsHacked”。问题是,我不想只禁用带有复选框的文本框,我还想在禁用时将bind to textbox属性设置为null。我还没有找到一个优雅的方法来做到这一点。下面是1个文本框和1个复选框的代码,用于验证我的意思:C# 使用复选框设置可选属性null,c#,wpf,xaml,mvvm,binding,C#,Wpf,Xaml,Mvvm,Binding,我正在使用MVVM模式创建WPF应用程序,我有9个文本框,它们绑定到我的viewmodel中的相应属性,我还有9个复选框,每个文本框的属性“IsEnabled”绑定到复选框的“IsHacked”。问题是,我不想只禁用带有复选框的文本框,我还想在禁用时将bind to textbox属性设置为null。我还没有找到一个优雅的方法来做到这一点。下面是1个文本框和1个复选框的代码,用于验证我的意思: <CheckBox Name="ArtikelGruppeChkBox"
<CheckBox Name="ArtikelGruppeChkBox"
Content="Artikel gruppe" />
<TextBox Margin="0,29,365,173"
Text="{Binding ArtikelGruppe}"
IsEnabled="{Binding ElementName=ArtikelGruppeChkBox,Path=IsChecked,TargetNullValue=false }" />
当chekbox设置为未选中并禁用textbox时,我想将属性ArtikelGruppe设置为null。这听起来像是一个业务逻辑规则,因为当其他内容发生变化时,您想分配一个特定的值(null);我想在您的viewmodel中进行更新。 您可以在viewmodel中创建bool道具并绑定到每个复选框,这样当道具从true变为false时,您可以简单地更改绑定到文本框的相应值。 即使出于测试目的,viewmodel方法也更好