ValidateValueCallback ValidateValueCallback ValidateValueCallback ValidateValueCallback Delegate

定義

依存関係プロパティの有効な値を検証するコールバックとして使用されるメソッドを表します。Represents a method used as a callback that validates the effective value of a dependency property.

public delegate bool ValidateValueCallback(System::Object ^ value);
public delegate bool ValidateValueCallback(object value);
type ValidateValueCallback = delegate of obj -> bool
Public Delegate Function ValidateValueCallback(value As Object) As Boolean 

パラメーター

value
Object Object Object Object

検証する値。The value to be validated.

戻り値

System.Boolean

値が検証された場合は true。送信された値が無効である場合は falsetrue if the value was validated; false if the submitted value was invalid.

継承
ValidateValueCallbackValidateValueCallbackValidateValueCallbackValidateValueCallback

次の例には、カスタム依存関係プロパティの値の範囲を検証するには、このコールバックの実装が含まれます。The following example includes an implementation of this callback to validate a range of values for a custom dependency property. ここで、プロパティ値が列挙体が必要ですし、検証により、指定された値がその列挙体のメンバーに評価されます。In this case the property value expects an enumeration, and the validation assures that the provided value evaluates to a member of that enumeration.

private static bool ShirtValidateCallback(object value)
{
	ShirtTypes sh = (ShirtTypes) value;
	return (sh==ShirtTypes.None || sh == ShirtTypes.Bowling || sh == ShirtTypes.Dress || sh == ShirtTypes.Rugby || sh == ShirtTypes.Tee);

}
Private Shared Function ShirtValidateCallback(ByVal value As Object) As Boolean
	Dim sh As ShirtTypes = CType(value, ShirtTypes)
	Return (sh=ShirtTypes.None OrElse sh = ShirtTypes.Bowling OrElse sh = ShirtTypes.Dress OrElse sh = ShirtTypes.Rugby OrElse sh = ShirtTypes.Tee)

End Function

注釈

このデリゲートに基づくのコールバックを使用して特定の署名のDependencyProperty.Registerなどのメソッドに関連するRegisterAttachedと対応する読み取り専用とします。Callbacks based on this delegate are used by certain signatures of DependencyProperty.Register and related methods, such as RegisterAttached and read-only equivalents. 受け取るシグネチャを使用する必要があります、validateValueCallbackたびにその日が設定されているプロパティの値の特定の検証が必要な場合は、パラメーター。You should use signatures that take the validateValueCallback parameter if you want specific validation of the property value each time that its effective is set. 提案された値の実際の検証を実行するよう、このコールバックを実装する必要があります。You should then implement this callback such that it performs the actual validation of the proposed value. コールバックtrueコールバックに送信された値が、有効な場合とfalseそれ以外の場合。The callback should return true if the value submitted to the callback is valid, and false otherwise. Afalse値これらの例外を処理するために、アプリケーションを準備する必要がありますので、無効なプロパティ セットが試行された、プロパティ システムの特定の部分で例外が生成されます。A false value will produce an exception in the specific portion of the property system where the invalid property set was attempted, so your application should be prepared to handle these exceptions.

検証コールバックは、依存関係プロパティ メタデータではなく、依存関係プロパティ識別子に格納されます。Validation callbacks are stored on dependency property identifiers, rather than dependency property metadata. 検証コールバックには、特定のインスタンスへのアクセスはありません、DependencyObjectは、プロパティを設定するとのみに影響を与えるプロパティはどのような値が一般に受け入れられます。Your validation callback does not have access to a specific instance of a DependencyObject on which the property is set, and can only influence what values are accepted for the property in general. 特定のインスタンスに基づいてプロパティ値を変更できるコールバックが必要な場合は、組み合わせを使用する必要があります、CoerceValueCallbackPropertyChangedCallbackプロパティのプロパティのメタデータに適用されるコールバック。If you need a callback that can change property values based on a specific instance, you should use a combination of a CoerceValueCallback and PropertyChangedCallback callbacks as applied to the property metadata of your property. これらのコールバックは、関連するプロパティに影響を及ぼすプロパティの値にも適用可能性があります。You might also apply these callbacks to related properties that should influence your property's value. 詳細については、次を参照してください。依存関係プロパティのコールバックと検証です。For details, see Dependency Property Callbacks and Validation.

Extension Methods

GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate) GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。Gets an object that represents the method represented by the specified delegate.

適用対象

こちらもご覧ください