【问题标题】:Set optional property null with checkbox使用复选框设置可选属性 null
【发布时间】:2018-01-10 04:02:00
【问题描述】:

我正在使用 MVVM 模式创建 WPF 应用程序,我有 9 个文本框,它们绑定到我的视图模型中的适当属性,我还有 9 个复选框,并且每个文本框的属性“IsEnabled”都绑定到复选框的“IsChacked”。问题是,我不想只禁用带有复选框的文本框,我还想将绑定到文本框的属性设置为 null,当它被禁用时。我还没有找到一种优雅的方式来做到这一点。这是 1 个文本框和 1 个复选框的代码,以阐明我的意思:

<CheckBox Name="ArtikelGruppeChkBox"  
          Content="Artikel gruppe" />
<TextBox Margin="0,29,365,173" 
         Text="{Binding ArtikelGruppe}" 
         IsEnabled="{Binding ElementName=ArtikelGruppeChkBox,Path=IsChecked,TargetNullValue=false }" />

当 chekbox 设置未选中并禁用文本框时,我想将属性 ArtikelGruppe 设置为 null。

【问题讨论】:

    标签: c# wpf xaml mvvm binding


    【解决方案1】:

    这听起来像是一个业务逻辑规则,因为您想在其他事情发生变化时分配一个特定的值(NULL);我会在您的视图模型中进行更新。 您可以在视图模型中创建 bool 道具并绑定到每个复选框,以便当道具从 true 更改为 false 时,您可以简单地更改绑定到文本框的相应值。 即使出于测试目的,视图模型方法也更好

    【讨论】:

      猜你喜欢
      • 2018-11-03
      • 1970-01-01
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-01-02
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多