1

我正在尝试向我的一个 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".

任何帮助将不胜感激!

4

0 回答 0