【发布时间】:2011-09-05 09:50:30
【问题描述】:
我有继承自文本框的控件
public class MyTextBox : TextBox
这有一种风格
<Style TargetType="{x:Type Controls:MyTextBox}">
其中一个二传手是
<Setter Property="Template">
我希望能够将Binding.ValidationRules 设置为模板中的某些内容,从而影响此类文本框的所有实例。
因此,我可以为时间、日期、数字、邮政/邮政编码或任何我想要的内容制作文本框,
我不想在每次创建文本框时都设置验证规则。我只想说我想要一个NumericTextBox 并让它以模板中设置的任何方式进行验证。
这可能吗?
到目前为止,我所看到的只是在控件的每个实例上设置的 ValidationRules,例如
<TextBox x:Name="txtEMail" Template={StaticResource TextBoxErrorTemplate}>
<TextBox.Text>
<Binding Path="EMail" UpdateSourceTrigger="PropertyChanged" >
<Binding.ValidationRules>
<local:RegexValidationRule Pattern="{StaticResource emailRegex}"/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
【问题讨论】:
标签: wpf validation validationrules