我有这块地和房产
private long? _defautID;
public long? DefautID
{
get => _defautID;
set
{
if (_defautID != value)
{
_defautID = value;
OnPropertyChanged();
}
}
}
链接到文本框
<TextBox Content="{Binding
Path=Expertise.DefautID, UpdateSourceTrigger=PropertyChanged}"/>
当我在文本框中添加或删除一个数字时,我的属性会被更新,PropertyChanged会被触发,没有任何问题。
但是当我删除最后一个数字并且我的文本框变为空时,我的属性不会更新(它保留最后一个已知值),因此PropertyChanged不会被触发。
这种行为有什么原因吗?是否有变通方案?
PropertyChanged实现:
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
1条答案
按热度按时间xghobddn1#
设置绑定的
TargetNullValue
属性:这是将
TextBox
中的emtpy字符串成功转换为default(long?)
以及设置属性所必需的。