using Avalonia; using Avalonia.Controls; namespace Pilz.UI.AvaloniaUI.Controls; public partial class HeaderMenuItem : MenuItem { public static readonly StyledProperty HeaderTextProperty = AvaloniaProperty.Register(nameof(HeaderText)); public static readonly StyledProperty HeaderIconProperty = AvaloniaProperty.Register(nameof(HeaderIcon)); public string? HeaderText { get => GetValue(HeaderTextProperty); set { SetValue(HeaderTextProperty, value); TextBlockHeaderText.Text = value; } } public object? HeaderIcon { get => GetValue(HeaderIconProperty); set { SetValue(HeaderIconProperty, value); ContentControlHeaderIcon.Content = value; ContentControlHeaderIcon.IsVisible = value != null; } } public new object? Icon { get => HeaderIcon; set => HeaderIcon = value; } public HeaderMenuItem() { InitializeComponent(); } }