gpt4 book ai didi

c# - MVVM 批准的方法来禁用文本框中的某些字符?

转载 作者:行者123 更新时间:2023-12-03 10:28:22 24 4
gpt4 key购买 nike

有没有办法在不使用代码隐藏文件中的代码的情况下禁用某些字符被写入 wpf 文本框?

我有一些绑定(bind)到文本框的 int 字段,我只想将它们限制为键 0-9。如果我输入其他任何内容,我会收到红色验证错误,但这还不够。

最佳答案

我建议使用 IDataErrorInfo 用于 WPF 验证,因为 WPF 已经了解如何使用它,并且易于实现。

您必须在您的类上添加接口(interface),所需的方法将如下所示:

#region IDataErrorInfo Members

public string Error
{
get { return null; }
}

public string this[string columnName]
{
get
{
if (columnName == "YourProperty")
{
int property = Convert.ToInt32(YourProperty);
if (property < 0 || property > 9)
return "The value must be between 0 and 9";
}

return string.Empty;
}
}

#endregion

接下来需要设置 ValidatesOnDataErrors=True在您的 TextBox 绑定(bind)中,以便在属性更改时运行验证。

当出现问题时,它会在您的控件上添加一个红色边框以及您在验证中添加的消息:

Error message

您可以阅读有关如何使用该界面的更多信息:
  • WPF: Validation made easy with IDataErrorInfo
  • Really simple WPF form data validation - how to?
  • 关于c# - MVVM 批准的方法来禁用文本框中的某些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22947267/

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