次の方法で共有


ValidationRule.ValidatesOnTargetUpdated プロパティ

定義

Binding のターゲットが更新されたときに検証規則を実行するかどうかを示す値を取得または設定します。

public:
 property bool ValidatesOnTargetUpdated { bool get(); void set(bool value); };
public bool ValidatesOnTargetUpdated { get; set; }
member this.ValidatesOnTargetUpdated : bool with get, set
Public Property ValidatesOnTargetUpdated As Boolean

プロパティ値

Binding のターゲットが更新されたときに検証規則を実行する場合は true。それ以外の場合は false

次の例では、 TextBox が空かどうかを確認します。 は にtrue設定されているため、アプリケーションの起動時に がValidationRule実行され、 が空の場合TextBoxにメッセージが表示ValidationRuleされます。 ValueIsNotNullValidatesOnTargetUpdated

<TextBox Width="150"
         Validation.Error="ItemError">
  <TextBox.Text>
    <Binding Source="{StaticResource myObject}"
             Path="PropertyB"
             UpdateSourceTrigger="PropertyChanged"
             NotifyOnValidationError="True">
      <Binding.ValidationRules>
        <src:ValueIsNotNull ValidatesOnTargetUpdated="True" />
      </Binding.ValidationRules>
    </Binding>
  </TextBox.Text>
</TextBox>

次の例は、前の ValidationRule 例で使用した と イベントのイベント ハンドラーを Error 示しています。

public class ValueIsNotNull : ValidationRule
{
    public override ValidationResult Validate(object value, System.Globalization.CultureInfo cultureInfo)
    {
        string str = value as string;

        if (!string.IsNullOrEmpty(str))
        {
            return ValidationResult.ValidResult;
        }
        else
        {
            return new ValidationResult(false, "Value must not be null");
        }
    }
}
Public Class ValueIsNotNull
    Inherits ValidationRule
    Public Overrides Function Validate(ByVal value As Object, ByVal cultureInfo As System.Globalization.CultureInfo) As ValidationResult
        Dim str As String = TryCast(value, String)

        If Not String.IsNullOrEmpty(str) Then
            Return ValidationResult.ValidResult
        Else
            Return New ValidationResult(False, "Value must not be null")
        End If
    End Function
End Class

適用対象