FrameworkPropertyMetadata 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
為相依性屬性回報或套用中繼資料,特別加入架構專屬的屬性系統特性。
public ref class FrameworkPropertyMetadata : System::Windows::UIPropertyMetadata
public class FrameworkPropertyMetadata : System.Windows.UIPropertyMetadata
type FrameworkPropertyMetadata = class
inherit UIPropertyMetadata
Public Class FrameworkPropertyMetadata
Inherits UIPropertyMetadata
- 繼承
範例
下列範例會取得特定擁有者上相依性屬性的中繼資料作為初始基底 PropertyMetadata 類型。 該中繼資料會轉換成 FrameworkPropertyMetadata 。 如果轉換傳回有效的 FrameworkPropertyMetadata ,則會透過簡單的 UI 回報各種 FrameworkPropertyMetadata 屬性值, (未顯示) 。
pm = dp.GetMetadata(dp.OwnerType);
pm = dp.GetMetadata(dp.OwnerType)
FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
[Inherits].Text = If((fpm.Inherits), "Yes", "No")
IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")
備註
這個類別衍生自 PropertyMetadata (到 UIPropertyMetadata) 。 針對大部分 WPF 架構層級的應用程式開發用途, FrameworkPropertyMetadata 是用於相依性屬性中繼資料的類型,而不是基底元資料類型 PropertyMetadata 或 UIPropertyMetadata 。 對於現有的相依性屬性和大部分自訂相依性屬性案例而言,這都是如此。
這個類別所宣告的成員會補充 PropertyMetadata 基類包含各種布林值屬性,這些屬性會指定或報告 WPF 架構層級屬性系統行為,例如屬性繼承、資料系結和版面配置。
建立實例的數個 FrameworkPropertyMetadata 建構函式簽章會採用 FrameworkPropertyMetadataOptions 參數。 列舉 FrameworkPropertyMetadataOptions 只會用來在建構函式中指定初始行為,而且不會在建構之後 FrameworkPropertyMetadata 公開。 從建構的實例,您可以透過各種屬性取得或設定對應的資訊,這些屬性會共用建構函式呼叫中使用的列舉值名稱。
XAML 文字使用方式
這個類別通常不會在 XAML 中使用。
建構函式
屬性
AffectsArrange |
取得或設定值,指出相依性屬性在配置引擎作業期間,是否可能會影響排列傳遞。 |
AffectsMeasure |
取得或設定值,指出相依性屬性在配置引擎作業期間,是否可能會影響測量行程。 |
AffectsParentArrange |
取得或設定值,指出相依性屬性在配置引擎作業期間,是否可能會影響其父項目配置的排列傳遞。 |
AffectsParentMeasure |
取得或設定值,指出相依性屬性在配置引擎作業期間,是否可能會影響其父項目配置的測量行程。 |
AffectsRender |
取得或設定值,指出相依性屬性是否可能影響一般的版面配置,而不會特別影響排列或測量,但可能需要重新繪製。 |
BindsTwoWayByDefault |
取得或設定值,指出屬性是否預設雙向繫結。 |
CoerceValueCallback |
取得或設定在這個中繼資料中指定之 CoerceValueCallback 實作的參考。 (繼承來源 PropertyMetadata) |
DefaultUpdateSourceTrigger |
取得或設定當套用具有這個中繼資料 (且 UpdateSourceTrigger 設為 UpdateSourceTrigger) 之屬性的繫結時,所要使用的預設 Default。 |
DefaultValue |
取得或設定相依性屬性的預設值。 (繼承來源 PropertyMetadata) |
Inherits |
取得或設定值,指出相依性屬性的值是否為可繼承。 |
IsAnimationProhibited |
取得或設定值,這個值宣告是否應停用套用包含中繼資料執行個體之相依性屬性上的動畫。 (繼承來源 UIPropertyMetadata) |
IsDataBindingAllowed |
取得值,指出相依性屬性是否支援資料繫結。 |
IsNotDataBindable |
取得或設定值,指出相依性屬性是否支援資料繫結。 |
IsSealed |
取得值,這個值判斷中繼資料是否已經以某種方式套用至屬性,導致中繼資料執行個體的不可變狀態。 (繼承來源 PropertyMetadata) |
Journal |
取得或設定值,指出此屬性是否包含日誌記錄資訊,其為應用程式可以或應該儲存為日誌記錄實作的一部分。 |
OverridesInheritanceBehavior |
取得或設定值,這個值表示屬性值繼承評估是否應該跨越項目邏輯樹狀中的特定內容界限。 |
PropertyChangedCallback |
取得或設定在這個中繼資料中指定之 PropertyChangedCallback 實作的參考。 (繼承來源 PropertyMetadata) |
SubPropertiesDoNotAffectRender |
取得或設定值,指出相依性屬性的子屬性是否不會影響包含物件的呈現。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Merge(PropertyMetadata, DependencyProperty) |
啟用來源中繼資料與基底中繼資料的合併。 |
OnApply(DependencyProperty, Type) |
在這個中繼資料已套用至屬性時呼叫,表示要密封中繼資料。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |