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 ,并且只能影响通常接受的属性的值。 如果需要可基于特定实例更改属性值的回调,则应使用应用于属性的属性元数据的回调 CoerceValueCallback 和 PropertyChangedCallback 回调的组合。 还可以将这些回调应用于应影响属性值的相关属性。 有关详细信息,请参阅 Dependency 属性回调和验证。
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。 |