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
章。 然後,您應該實作此回呼,使其執行建議值的實際驗證。 如果提交至回呼的值有效,則回呼應該會傳回 true
, false
否則為 。 值 false
會在嘗試無效屬性集的屬性系統特定部分中產生例外狀況,因此您的應用程式應該準備好處理這些例外狀況。
驗證回呼會儲存在相依性屬性識別碼上,而不是相依性屬性中繼資料。 您的驗證回呼無法存取已設定屬性的特定 實例 DependencyObject ,而且只會影響一般屬性所接受的值。 如果您需要可以根據特定實例變更屬性值的 CoerceValueCallback 回呼,您應該使用 和 PropertyChangedCallback 回呼的組合,以套用至屬性的屬性中繼資料。 您也可以將這些回呼套用至應該影響屬性值的相關屬性。 如需詳細資訊,請參閱 相依性屬性回呼和驗證。
擴充方法
GetMethodInfo(Delegate) |
取得表示特定委派所代表之方法的物件。 |