You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Avalonia UI中FrameworkPropertyMetadataOptions.AffectsParentArrange的等效项是什么?

Avalonia UI 等效 WPF FrameworkPropertyMetadataOptions.AffectsParentArrange 的配置方法

实现逻辑

Avalonia 没有将布局影响参数集成到属性注册的参数列表中,而是通过控件类静态构造函数中调用专属布局关联方法实现等效效果。

你需要用到AffectsParentArrange静态方法,将对应属性传入即可,该方法的作用与WPF的AffectsParentArrange选项完全一致:属性值变更时自动触发父元素的排列(Arrange)布局流程。

完整示例代码

public class MediaPlayer : Control
{
    // 注册依赖属性
    public static readonly StyledProperty<bool> IsStopVisibleProperty = 
        AvaloniaProperty.Register<MediaPlayer, bool>(nameof(IsStopVisible), true);

    // 静态构造函数中配置属性的布局影响
    static MediaPlayer()
    {
        AffectsParentArrange(IsStopVisibleProperty);
    }

    public bool IsStopVisible
    {
        get => GetValue(IsStopVisibleProperty);
        set => SetValue(IsStopVisibleProperty, value);
    }
}

其他等效的布局关联方法

WPF 中其他常用的FrameworkPropertyMetadataOptions枚举值,在Avalonia中都有对应的静态方法可以实现相同效果:

  • 对应AffectsMeasure:调用AffectsMeasure(属性实例),属性变更触发自身测量布局更新
  • 对应AffectsArrange:调用AffectsArrange(属性实例),属性变更触发自身排列布局更新
  • 对应AffectsParentMeasure:调用AffectsParentMeasure(属性实例),属性变更触发父元素测量布局更新
  • 对应AffectsRender:调用AffectsRender(属性实例),属性变更触发自身重绘

内容的提问来源于stack exchange,提问作者Etienne Charland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:36:07