C# 扩展文本框可防止出现ValidationRule错误工具提示WPF
我对WPF和XAML比较陌生,我正在尝试创建一个扩展TextBox的自定义类,以便可以添加一些属性以简化验证设置。验证工作正常。问题是,当我调出XAML中的文本框时,新的文本框会更新边框以显示错误,但工具提示没有按预期显示(见下文) 在下图中,top的错误工具提示正确显示,但top的工具提示不正确 这是XAMLC# 扩展文本框可防止出现ValidationRule错误工具提示WPF,c#,wpf,xaml,validationrules,C#,Wpf,Xaml,Validationrules,我对WPF和XAML比较陌生,我正在尝试创建一个扩展TextBox的自定义类,以便可以添加一些属性以简化验证设置。验证工作正常。问题是,当我调出XAML中的文本框时,新的文本框会更新边框以显示错误,但工具提示没有按预期显示(见下文) 在下图中,top的错误工具提示正确显示,但top的工具提示不正确 这是XAML <TextBox x:Name="StrTextBox3" Width="200" Height="50">
<TextBox x:Name="StrTextBox3" Width="200" Height="50">
<TextBox.Text>
<Binding Path="BinaryIntText" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validationRules:StrValidationRule ValidatorType="{x:Static validators:StringValidator.BinaryOnly_Validator}"/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
<validationRules:ValidatedTextBox x:Name="VText" Width="200" Height="50">
<TextBox.Text>
<Binding Path="BinaryIntText2" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<validationRules:StrValidationRule ValidatorType="{x:Static validators:StringValidator.BinaryOnly_Validator}"/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</validationRules:ValidatedTextBox>
好措施的验证规则
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
return ValidatorType.Validate(Convert.ToString(value)).Match (
Right: result => new ValidationResult(true, null),
Left: error => new ValidationResult(false, error));
}
如何启用此功能?我没有初始化一个或两个特定字段吗?我是不是错过了别的电话?我是否被风格困扰,或是其他比写这篇文章更快的直截了当的事情困扰
谢谢你原来我很笨;通过简单地扩展文本框,文本框的默认样式没有被应用,并且将新样式设置为现有文本框的样式,或者干脆设置,解决了这个问题。事实证明我很密集;通过简单地扩展文本框,文本框的默认样式没有被应用,并且将新样式设置为现有文本框的样式,或者干脆设置,就解决了这个问题。只是一些其他的东西,不确定,但它不应该是
?很可能应该是这样,谢谢!然而,做出更改似乎不会影响任何事情。只是其他事情,不确定,但不应该是
?可能应该是这样,谢谢!然而,做出改变似乎不会影响任何事情。
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
return ValidatorType.Validate(Convert.ToString(value)).Match (
Right: result => new ValidationResult(true, null),
Left: error => new ValidationResult(false, error));
}