WPF验证未绑定文本框

WPF验证未绑定文本框,wpf,validation,binding,textbox,Wpf,Validation,Binding,Textbox,是否可以在没有绑定部件的情况下使用验证?问题是我的文本框没有绑定到任何对象,但我仍然想验证它的内容。到目前为止,我发现的唯一方法是: <TextBox Grid.Row="0" Grid.Column="1" MaxLength="50" x:Name="textBoxTubeName" Margin="5,5,0,5"> <TextBox.Text> <Binding Path="Name" UpdateSource

是否可以在没有绑定部件的情况下使用验证?问题是我的文本框没有绑定到任何对象,但我仍然想验证它的内容。到目前为止,我发现的唯一方法是:

    <TextBox Grid.Row="0" Grid.Column="1" MaxLength="50" x:Name="textBoxTubeName" Margin="5,5,0,5">
        <TextBox.Text>
            <Binding Path="Name" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay" NotifyOnValidationError="True">
                <Binding.ValidationRules>
                    <validation:InvalidCharactersRule />
                </Binding.ValidationRules>
            </Binding>
        </TextBox.Text>
    </TextBox>

但是,它只在TextBox.Text绑定到某个对象(在本例中是Name属性)时才起作用,如果没有绑定,我该如何处理


谢谢

这还不可能,但已经计划好了(注意:这是一篇老文章)。但是,我仍然找不到一种方法来实现它,所以它可能还没有实现。

从代码隐藏开始做这件事非常棘手。基本上,您可以从代码中设置临时绑定并引发验证错误,当输入具有有效值时,您可以再次删除所有临时绑定内容

这是我使用的,我认为这是一个很差的练习(但从零开始更好):

要清除验证,请执行以下操作:

ValidationClear(textBox);

注意:如果您不想验证异常,可以从上述方法中删除EmptyDataContext类。

是的,我想我必须自己编写代码。我认为微软专注于绑定的想法是好的,但出于这个目的,以这种方式限制验证是不好的。谢谢卢卡斯,你好。关于这个问题有什么更新吗?我也想这样做。
ValidationMarkInvalid(textBox, "Please enter something valid!");
ValidationClear(textBox);