【发布时间】:2017-11-21 16:31:03
【问题描述】:
我有一个User 类:
public partial class User : INotifyPropertyChanged
{
private string forename;
[MaxLength(10)]
public string Forename
{
get => forename;
set
{
forename = value;
OnPropertyChanged("forename");
}
}
public User(string forename)
{
Forename = forename;
}
}
我还有一个TextBox。 TextBox 的 Text 属性绑定到 User 对象:
textBox.DataBindings.Add("Text", new User("Michael"), "Forename");
我想通过TextBox 获取Forename 的MaxLength 属性。该怎么做?
注意:上面的代码是我真实代码的简化。
【问题讨论】:
-
你不能声明式地这样做,但你可以do it via reflection
-
由于您在代码中设置数据绑定,因此为您创建一个数据绑定方法,并在该方法中将 maxlength 应用于控件。要获取最大长度,除了反射,还可以使用类型描述符。
-
@RezaAghaei - 你能详细说明一下答案吗?
标签: c# winforms data-binding