テキストボックスから継承するコントロールがあります
public class MyTextBox : TextBox
これにはスタイルがあります
<Style TargetType="{x:Type Controls:MyTextBox}">
セッターの1人は
<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>