共用方式為


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 章。 然後,您應該實作此回呼,使其執行建議值的實際驗證。 如果提交至回呼的值有效,則回呼應該會傳回 truefalse 否則為 。 值 false 會在嘗試無效屬性集的屬性系統特定部分中產生例外狀況,因此您的應用程式應該準備好處理這些例外狀況。

驗證回呼會儲存在相依性屬性識別碼上,而不是相依性屬性中繼資料。 您的驗證回呼無法存取已設定屬性的特定 實例 DependencyObject ,而且只會影響一般屬性所接受的值。 如果您需要可以根據特定實例變更屬性值的 CoerceValueCallback 回呼,您應該使用 和 PropertyChangedCallback 回呼的組合,以套用至屬性的屬性中繼資料。 您也可以將這些回呼套用至應該影響屬性值的相關屬性。 如需詳細資訊,請參閱 相依性屬性回呼和驗證

擴充方法

GetMethodInfo(Delegate)

取得表示特定委派所代表之方法的物件。

適用於

另請參閱