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 если значение допустимо; false если значение не является допустимым.true 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. false Значение приведет к возникновению исключения в определенной части системы свойств, в которой была предпринята попытка недопустимого набора свойств, поэтому приложение должно быть подготовлено к обработке этих исключений.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. Если требуется обратный вызов, который может изменять значения свойств на основе конкретного экземпляра, следует использовать сочетание CoerceValueCallback обратных вызовов и PropertyChangedCallback , как применено к метаданным свойства свойства.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.

Методы расширения

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

Получает объект, представляющий метод, представленный указанным делегатом.Gets an object that represents the method represented by the specified delegate.

Применяется к

Дополнительно