ValidationRule
次のように、基本コンストラクターを呼び出さない場合の理由を理解しようとしています
public GrainWeightValidate() : base(ValidationStep.UpdatedValue, true) { }
次に、検証ルールを呼び出す必要があるときに(以下に示すようLostFocus
に on a を使用して)、が実際にフォーカスを失った場合、関数はまったく呼び出されません。ただし、以下をに変更すると、が呼び出されますが、スタック オーバーフローが発生するまで無限に続きます。関連する XAML は次のとおりです。TextBox
Validate
TextBox
UpdateSourceTrigger
PropertyChanged
GrainWeightValidate.Validate()
<Viewbox Grid.Row="1" Grid.Column="4">
<AdornerDecorator>
<TextBox Name="GrainWeightTextBox" MinWidth="23">
<TextBox.Text>
<Binding RelativeSource="{RelativeSource Self}" Path="Text" UpdateSourceTrigger="LostFocus">
<Binding.ValidationRules>
<local:GrainWeightValidate/>
</Binding.ValidationRules>
</Binding>
</TextBox.Text>
</TextBox>
</AdornerDecorator>
</Viewbox>