Аналог FrameworkPropertyMetadataOptions.AffectsMeasure и FrameworkPropertyMetadataOptions.AffectsRender из wpf в AVALONIA UI?

Перевожу приложение под wpf в avalonia ui. В ходе переноса столкнулся с тем, чего нет в документации. В общем есть кусок кода из wpf:

public class BaseLabelElement : UIElement
{
    public static readonly DependencyProperty FontFamilyProperty = DependencyProperty.Register(
        "FontFamily", typeof(FontFamily), typeof(BaseLabelElement), new FrameworkPropertyMetadata(DefaultFontFamily,
            FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender, FontFamilyPropertyChanged));

    public FontFamily FontFamily
    {
        get { return (FontFamily)GetValue(FontFamilyProperty); }
        set { SetValue(FontFamilyProperty, value); }
    }
}

Как добавить добиться поведения, соответствующего "new FrameworkPropertyMetadata(.., FrameworkPropertyMetadataOptions.AffectsMeasure | FrameworkPropertyMetadataOptions.AffectsRender,..)"? Также хочу добавить, что есть возможность в конструкторе добавить через методы AffectsMeasure("Список свойств зависимостей") и AffectsRender("Список свойств зависимостей") добавить флаги для данных свойств, но они не рекомендованные


Ответы (1 шт):

Автор решения: PopMal

AffectsRender <T> (AvaloniaProperty []) и AffectsMeasure <T> (AvaloniaProperty []) в классе Visual. Эти методы должен вызываться в статическом конструкторе элемента управления с каждым свойством элемента управления, которое при изменении должно вызывать перерисовку. Это похоже на флаги FrameworkPropertyMetadata.AffectsRender и AffectsMeasure в WPF.

→ Ссылка