From 917217eb2d1c28a65840c0c40912e2ea8b9df94d Mon Sep 17 00:00:00 2001 From: Dong Bin Date: Thu, 20 Mar 2025 16:53:42 +0800 Subject: [PATCH] feat: allow setting titlebar hittest from UrsaWindow. --- src/Ursa.Themes.Semi/Controls/UrsaWindow.axaml | 3 ++- src/Ursa/Controls/TitleBar/TitleBar.cs | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Ursa.Themes.Semi/Controls/UrsaWindow.axaml b/src/Ursa.Themes.Semi/Controls/UrsaWindow.axaml index 03f9cf8..d828093 100644 --- a/src/Ursa.Themes.Semi/Controls/UrsaWindow.axaml +++ b/src/Ursa.Themes.Semi/Controls/UrsaWindow.axaml @@ -66,6 +66,7 @@ + IsHitTestVisible="{TemplateBinding IsTitleBarHitTestVisible}" /> GetValue(IsTitleVisibleProperty); set => SetValue(IsTitleVisibleProperty, value); } + + public static readonly AttachedProperty IsTitleBarHitTestVisibleProperty = + AvaloniaProperty.RegisterAttached("IsTitleBarHitTestVisible", defaultValue: true); + public static void SetIsTitleBarHitTestVisible(Window obj, bool value) => obj.SetValue(IsTitleBarHitTestVisibleProperty, value); + public static bool GetIsTitleBarHitTestVisible(Window obj) => obj.GetValue(IsTitleBarHitTestVisibleProperty); + + public bool IsTitleBarHitTestVisible + { + get => GetValue(IsTitleBarHitTestVisibleProperty); + set => SetValue(IsTitleBarHitTestVisibleProperty, value); + } protected override void OnApplyTemplate(TemplateAppliedEventArgs e) {