【发布时间】:2011-08-30 13:21:35
【问题描述】:
我正在尝试验证 WPF 中的文本框。我在互联网上找到了一些例子,并整理了一些东西。但现在它只是验证一切,就好像它是错误的一样。有人告诉我这是我的绑定,因为我不确定要绑定什么我来这里澄清一下:)
这是我的验证器:
class TextRangeValidator : ValidationRule
{
private int _minimumLength = 0;
private int _maximumLength = 0;
private string _errorMessage;
public int MinimumLength
{
get { return _minimumLength; }
set { _minimumLength = value; }
}
public int MaximumLength
{
get { return _maximumLength; }
set { _maximumLength = value; }
}
public string ErrorMessage
{
get { return _errorMessage; }
set { _errorMessage = value; }
}
public override ValidationResult Validate(object value,
CultureInfo cultureInfo)
{
ValidationResult result = new ValidationResult(true, null);
string inputString = (string)value.ToString();
if (inputString.Length < this.MinimumLength ||
(
inputString.Length > this.MaximumLength))
{
result = new ValidationResult(false, this.ErrorMessage);
}
return result;
}
}
这是我的 xaml 代码:
<TextBox Height="23" HorizontalAlignment="Left" Margin="118,60,0,0" Name="CreateUserCPRTextbox" VerticalAlignment="Top" Width="120" >
<TextBox.Text >
<Binding Path="Name" UpdateSourceTrigger="PropertyChanged" ValidatesOnDataErrors="true">
<Binding.ValidationRules >
<validators:TextRangeValidator
ValidatesOnTargetUpdated="True"
MinimumLength="10"
MaximumLength="10"
ErrorMessage="CPR nummer ikke gyldigt" />
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
现在我的绑定属性只是命名为 name,我试图让它绑定到 CreateUserCPRTextbox.Text 但它不起作用。这是如何工作的?
【问题讨论】:
-
我还尝试在 xaml.cs 文件中创建一个属性并将文本框绑定到它。这也没有帮助。
标签: .net wpf validation xaml textbox