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);