我正在尝试向我的一个 WPF 控件添加验证,该控件没有绑定到任何东西。我研究了一下,发现要做到这一点,只需将控件绑定到自身即可。
不幸的是,VS 在这段代码上给了我一个神秘的错误消息:
<TextBox x:Name="_manualTextBox" MinWidth="200" Margin="20,0,5,2" TextChanged="_manualTextBox_TextChanged">
<TextBox.Text>
<Binding RelativeSource="{RelativeSource Self}" Path="Text" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
<val:ServerNameValidation ValidatesOnTargetUpdated="True"/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
错误信息出现在哪一行:
<val:ServerNameValidation ValidatesOnTargetUpdated="True"/>
它声称:
A value of type 'ServerNameValidation' cannot be added to a collection or dictionary of type 'Collection1'.
我的 ServerNameValidation 类继承自 ValidationRule 并实现了 Validate 方法:
public class ServerNameValidation : ValidationRule
{
public override ValidationResult Validate(object value, CultureInfo cultureInfo)
{
xmlns 似乎已正确配置,因为 VS 中的 Intellisense 将捕获我的 ServerNameValidation 和我的ValidatesOnTargetUpdated="True"
.
任何帮助将不胜感激!