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 |
获取或设置在应用具有此元数据的属性绑定时要使用的默认值 |
| 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) |