ValidateValueCallback Delegált

Definíció

Visszahívásként használt metódust jelöl, amely ellenőrzi egy függőségi tulajdonság tényleges értékét.

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 

Paraméterek

value
Object

Az érvényesítendő érték.

Visszatérési érték

true ha az érték érvényesítése megtörtént; false ha a beküldött érték érvénytelen volt.

Példák

Az alábbi példa a visszahívás implementálását tartalmazza egy egyéni függőségi tulajdonság értéktartományának ellenőrzéséhez. Ebben az esetben a tulajdonság értéke enumerálást vár, és az ellenőrzés biztosítja, hogy a megadott érték kiértékelése az enumerálás egy tagjára történik.

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

Megjegyzések

A meghatalmazotton alapuló visszahívásokat bizonyos aláírások és kapcsolódó metódusok DependencyProperty.Register használják, például RegisterAttached és írásvédett egyenértékűek. Olyan aláírásokat kell használnia, amelyek a validateValueCallback paramétert használják, ha a tulajdonságértéket minden alkalommal ellenőrizni szeretné, amikor a tulajdonság érvényessége be van állítva. Ezt a visszahívást ezután úgy kell implementálnia, hogy az végrehajtsa a javasolt érték tényleges ellenőrzését. A visszahívásnak vissza kell térnie true , ha a visszahívásnak elküldött érték érvényes, és false ellenkező esetben. Egy false érték kivételt fog eredményezni a tulajdonságrendszer azon részében, ahol az érvénytelen tulajdonságkészletet megkísérelték, ezért az alkalmazásnak készen kell állnia a kivételek kezelésére.

Az érvényesítési visszahívások a függőségi tulajdonság metaadatai helyett függőségi tulajdonságazonosítókon vannak tárolva. Az érvényesítési visszahívás nem rendelkezik hozzáféréssel egy DependencyObject adott példányhoz, amelyen a tulajdonság be van állítva, és csak a tulajdonság általánosan elfogadott értékeit befolyásolhatja. Ha olyan visszahívásra van szüksége, amely egy adott példány alapján módosíthatja a tulajdonságértékeket, a tulajdonság metaadataira alkalmazott visszahívások és CoerceValueCallback visszahívások kombinációját PropertyChangedCallback kell használnia. Ezeket a visszahívásokat olyan kapcsolódó tulajdonságokra is alkalmazhatja, amelyek befolyásolhatják a tulajdonság értékét. További részletekért lásd: Függőségi tulajdonság visszahívásai és érvényesítése.

Bővítő metódusok

Name Description
GetMethodInfo(Delegate)

Lekéri a megadott meghatalmazott által képviselt metódust képviselő objektumot.

A következőre érvényes:

Lásd még