FrameworkPropertyMetadata.IsNotDataBindable 屬性

定義

取得或設定值,指出相依性屬性是否支援資料繫結。

C#
public bool IsNotDataBindable { get; set; }

屬性值

如果屬性不支援資料繫結,即為 true;否則為 false。 預設為 false

例外狀況

中繼資料已套用至相依性屬性作業,因此中繼資料已密封,而且無法設定中繼資料的屬性。

備註

請注意,雖然是讀寫屬性,但是這個中繼資料屬性會特別針對不應支援資料系結的屬性設定 true 。 預期在大部分宣告相依性屬性的情況下,需要資料系結,因為資料系結是相依性屬性很有用的其中一個主要案例。 不同于 BindsTwoWayByDefault ,這不只會變更稍後可在特定系結上變更的預設值。 在相依性屬性 true 中繼資料的中繼資料中設定此屬性,將會停用所有系結透過運算式將值套用至該相依性屬性。

唯讀相依性屬性不支援資料系結 (,因為它們沒有可套用變更值的 setter) ,但仍會針對 IsNotDataBindable 報告 false 。 這是因為對應至 FrameworkPropertyMetadataOptions 值的屬性會報告與中繼資料實際建立方式的同位,而不是一律報告屬性命名可能表示的最終結果行為。 若要判斷指定的相依性屬性是否允許資料系結,您通常應該改為檢查 IsDataBindingAllowedIsDataBindingAllowed是檢查 和 IsNotDataBindable 作為單一作業的便利性 ReadOnly ,會產生預期的結果。

衍生類別 PropertyMetadata 的屬性通常會在物件模型中定義為讀寫。 這是為了讓實例在初始化之後進行調整。 不過,在呼叫 RegisterAddOwnerOverrideMetadata 時取用中繼資料之後,屬性系統會密封中繼資料實例和傳達中繼資料特性的屬性現在會被視為不可變。 嘗試在此中繼資料實例上設定此屬性之後 IsSealedtrue ,將會引發例外狀況。

XAML 文字使用方式

這個類別的成員通常不會用於 XAML。

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另請參閱