如果选中属性TextBox.Text
,则需要将CheckBox
绑定到该属性。否则,属性的值应为null。
让我们说DTO类是:
public class DataForInputDTO
{
public double? Power {get; set;}
public double? Speed {get; set;}
// Other Properties
}
现在,当用户取消选中 Speed CheckBox
时,其旁边的TextBox
被禁用(可以),但我还需要属性 Speed 获取null而不是 60 。
有什么方法可以执行此操作而无需手动更改CheckBox.CheckedChaneg
上的绑定?
答案 0 :(得分:0)
您可以通过Speed CheckBox绑定到的属性进行设置。例如,如果“速度的IsChecked属性”复选框绑定到名为“ IsSpeedChecked”的属性,则可以执行以下操作。
private double _powerValue = 0;
public double? Power { get; set; } = 0;
public bool IsPowerEnabled
{
get => _isPowerEnabled;
set
{
_isPowerEnabled = value;
if (!value)
{
_powerValue = Power.Value;
Power = null;
}
else
{
Power = _powerValue;
}
NotifyOfPropertyChange(nameof(Power));
NotifyOfPropertyChange(nameof(IsPowerEnabled));
}
}