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。 若 cast 回傳有效 FrameworkPropertyMetadata,則 FrameworkPropertyMetadata 各種屬性值會透過簡單的 UI(未顯示)報告。
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。
建構函式
屬性
| 名稱 | Description |
|---|---|
| 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 |
取得或設定一個值,指示依賴屬性的子屬性是否不影響所包含物件的渲染。 |
方法
| 名稱 | Description |
|---|---|
| Equals(Object) |
判斷指定的 物件是否等於目前的物件。 (繼承來源 Object) |
| GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
| GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
| MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
| Merge(PropertyMetadata, DependencyProperty) |
使原始元資料與基礎元資料能夠合併。 |
| OnApply(DependencyProperty, Type) |
當這些中繼資料套用到某個屬性時,表示該中繼資料正在被封存時,就會被呼叫。 |
| ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |