gpt4 book ai didi

c# - 防止将无效的文本框输入绑定(bind)到业务对象属性?

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:16 25 4
gpt4 key购买 nike

我有一个简单的 winforms 应用程序,其中包含一个表单、一些控件和一个定义如下的业务对象:

public class BusinessObject : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;

private void OnPropertyChanged(PropertyChangedEventArgs e)
{
if (PropertyChanged != null)
{
PropertyChanged(this, e);
}
}

private string _phoneNumber;
public string PhoneNumber
{
get { return _phoneNumber; }
set
{
if (_phoneNumber == value)
{
return;
}

_phoneNumber = value;
OnPropertyChanged(new PropertyChangedEventArgs("PhoneNumber"));
}
}

在我的表单上,我有一个通过绑定(bind)源绑定(bind)到 PhoneNumber 属性的文本框,并且数据源更新模式设置为 OnPropertyChanged。这一切都按预期工作。在将文本分配给我的业务对象的 PhoneNumber 属性之前,我需要对文本进行一些验证。我想我会在文本框的验证事件处理程序中执行此操作,如果输入无效,我会显示我的错误提供程序并设置 e.Cancel = true。遗憾的是,这并不能阻止将无效输入绑定(bind)到 PhoneNumber 属性。有没有简单的方法可以做到这一点?

最佳答案

Data Validation可能正是您要找的东西。应该防止无效输入更改您的对象。

关于c# - 防止将无效的文本框输入绑定(bind)到业务对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10017313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com