ValidateValueCallback 代理人
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
依存関係プロパティの有効な値を検証するコールバックとして使用されるメソッドを表します。
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
検証する値。
戻り値
値が検証された場合は 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
検証が必要な場合は、パラメーターを受け取るシグネチャを使用する必要があります。 次に、提案された値の実際の検証を実行できるように、このコールバックを実装する必要があります。 コールバックに送信された値が有効な場合はコールバックを返しfalse
、それ以外の場合は返すtrue
必要があります。 false
値は、無効なプロパティ セットが試行されたプロパティ システムの特定の部分で例外を生成するため、これらの例外を処理するようにアプリケーションを準備する必要があります。
検証コールバックは、依存関係プロパティメタデータではなく、依存関係プロパティ識別子に格納されます。 検証コールバックは、プロパティが設定されている特定の DependencyObject インスタンスへのアクセス権を持たないため、プロパティに対して一般的に受け入れられる値にのみ影響を与えることができます。 特定のインスタンスに基づいてプロパティ値を変更できるコールバックが必要な場合は、プロパティのプロパティ メタデータに適用されるコールバックとPropertyChangedCallbackをCoerceValueCallback組み合わせて使用する必要があります。 これらのコールバックは、プロパティの値に影響を与える必要がある関連プロパティにも適用できます。 詳細については、「 依存関係プロパティのコールバックと検証」を参照してください。
拡張メソッド
GetMethodInfo(Delegate) |
指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。 |