DependencyProperty.IsValidValue(Object) 方法

定義

透過基本型別檢查,判斷屬性型別是否接受所提供的值,並在必要時判斷此值是否位於該型別的允許值範圍內。

public:
 bool IsValidValue(System::Object ^ value);
public bool IsValidValue (object value);
member this.IsValidValue : obj -> bool
Public Function IsValidValue (value As Object) As Boolean

參數

value
Object

要檢查的值。

傳回

Boolean

如果此值可被接受且屬於正確型別或衍生型別,則為 true,否則為 false

範例

下列範例會在呼叫 SetValue 相依性屬性之前,先使用 IsValidValue 做為檢查。

void TrySetValueWithValidate(DependencyObject target, DependencyProperty dp, object providedValue)
{
  if (dp.IsValidValue(providedValue))
  {
    target.SetValue(dp, providedValue);
  }
}
Private Sub TrySetValueWithValidate(ByVal target As DependencyObject, ByVal dp As DependencyProperty, ByVal providedValue As Object)
  If dp.IsValidValue(providedValue) Then
    target.SetValue(dp, providedValue)
  End If
End Sub

備註

針對相依性屬性,可以透過 ValidateValueCallback 相依性屬性註冊中提供的 來指定該類型的允許值範圍。

這個方法會在內部呼叫 IsValidType 。 如果有問題的相依性屬性沒有 ValidateValueCallback ,則呼叫這個方法實際上相當於呼叫 IsValidType 。 如果相依性屬性有 ValidateValueCallback ,而且 如果 IsValidType 傳回 ,則傳回 true 的值將會如回呼中所實作。

Null 值是參考型別相依性屬性的有效值,或 Nullable<T> 相依性屬性的有效值,而且會針對這些案例傳回 true 。 如果相依性屬性不是參考或 Nullable<T> 型別,則會針對 Null 值傳回 falseIsValidType 而不是引發例外狀況。

適用於