FrameworkPropertyMetadata.AffectsParentArrange 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值表示依赖属性是否会影响布局引擎操作期间父元素布局的排列处理过程。
public:
property bool AffectsParentArrange { bool get(); void set(bool value); };
public bool AffectsParentArrange { get; set; }
member this.AffectsParentArrange : bool with get, set
Public Property AffectsParentArrange As Boolean
属性值
如果此元数据所在的依赖属性可能会特别影响其父元素上的排列处理过程,则为 true
;否则为 false
。 默认值为 false
。
例外
已对依赖属性操作应用了元数据,因此元数据已密封,且无法设置其属性。
注解
FrameworkElement 并 FrameworkContentElement 包含一个实现 OnPropertyChanged ,用于监视对元素上存在的所有依赖项属性的有效值更改。 作为该逻辑的一部分,更改有效值的依赖项属性,并将元数据 AffectsParentArrange 设置为 true
启动延迟请求,使父元素的视觉对象失效。
通常,不需要将属性的更改FrameworkElement报告给父元素,AffectsParentArrange因为元素本身已具有其自己的AffectsArrange属性。true
这通常足够,因为子元素中的更改通常会在适当时启动父排列。 AffectsParentArrange 有时用于 FrameworkContentElement 派生类。 在这种情况下,子元素设置属性,但 FrameworkContentElement 派生类不控制其自己的呈现。 呈现由 FrameworkElement 充当内容宿主的父元素处理。 例如,子元素对附加属性的值 FixedPage.Left 的更改会使父元素的排列失效,因为父元素中子级的位置必须更改。 因此,FixedPage.Left附加属性具有元数据,其中 AffectsParentArrange 。true
另一个示例是 Padding;当此属性发生更改时,父级可能会根据可用空间更改子级的位置。
由于此 WPF 框架级实现已到位,因此通常不需要查找依赖项属性 AffectsParentArrange ,除非要大量替换或修改 WPF 框架级布局行为。
自定义OnPropertyChanged实现可能选择对依赖项属性更改具有类似的行为,其中AffectsParentArrange。true
任何派生类 PropertyMetadata 的属性通常在对象模型中定义为读写。 因此,在初始化实例后可以调整它们。 但是,在元数据作为调用RegisterAddOwner的一部分使用之后,或者OverrideMetadata,属性系统将密封表示元数据的具体内容的属性现在被视为不可变的元数据实例和属性。 尝试在此元数据实例上设置此属性之后IsSealedtrue
将引发异常。
XAML 文本用法
此类的成员通常不用于 XAML。