ValidateValueCallback 代理人

定義

依存関係プロパティの有効な値を検証するコールバックとして使用されるメソッドを表します。

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

検証する値。

戻り値

Boolean

値が検証された場合は true、送信された値が正しくない場合はfalse

次の例には、カスタム依存関係プロパティの値の範囲を検証するこのコールバックの実装が含まれています。 この場合、プロパティ値には列挙型が必要であり、検証によって、指定された値がその列挙体のメンバーに評価されることが保証されます。

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 と読み取り専用の場合)。 有効にする validateValueCallback たびにプロパティ値の特定の検証を行う場合は、パラメーターを受け取るシグネチャを使用する必要があります。 次に、このコールバックを実装して、提示された値の実際の検証を実行する必要があります。 コールバックは、 true コールバックに送信された値が有効な場合はを返し、それ以外の場合はを返し false ます。 値を指定すると、 false プロパティシステムの特定の部分で無効なプロパティセットが試行されたときに例外が生成されるため、アプリケーションでこれらの例外を処理できるように準備する必要があります。

検証コールバックは、依存関係プロパティのメタデータではなく、依存関係プロパティの識別子に格納されます。 検証コールバックは、プロパティが設定されているの特定のインスタンスへのアクセス権を持っていません DependencyObject 。また、一般にプロパティに対して許容される値にのみ影響を与えることができます。 特定のインスタンスに基づいてプロパティ値を変更できるコールバックが必要な場合は、 CoerceValueCallback PropertyChangedCallback プロパティのプロパティメタデータに適用されるコールバックとコールバックの組み合わせを使用する必要があります。 また、これらのコールバックを、プロパティの値に影響を与える関連プロパティに適用することもできます。 詳細については、「 依存関係プロパティのコールバックと検証」を参照してください。

拡張メソッド

GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象

こちらもご覧ください