feat: allow setting titlebar hittest from UrsaWindow.
This commit is contained in:
@@ -66,6 +66,7 @@
|
||||
<VisualLayerManager.ChromeOverlayLayer>
|
||||
<Panel Margin="{Binding $parent[u:UrsaWindow].OffScreenMargin}">
|
||||
<u:TitleBar
|
||||
IsTitleBarHitTestVisible="{Binding $parent[u:UrsaWindow].(u:TitleBar.IsTitleBarHitTestVisible)}"
|
||||
Margin="{Binding $parent[u:UrsaWindow].TitleBarMargin}"
|
||||
Content="{Binding $parent[u:UrsaWindow].TitleBarContent}"
|
||||
IsTitleVisible="{Binding $parent[u:UrsaWindow].IsTitleBarVisible}"
|
||||
@@ -109,7 +110,7 @@
|
||||
<Border
|
||||
Name="PART_Background"
|
||||
Background="{TemplateBinding Background}"
|
||||
IsHitTestVisible="True" />
|
||||
IsHitTestVisible="{TemplateBinding IsTitleBarHitTestVisible}" />
|
||||
<Grid HorizontalAlignment="Stretch" ColumnDefinitions="Auto, *, Auto, Auto">
|
||||
<ContentPresenter
|
||||
Grid.Column="0"
|
||||
|
||||
@@ -42,6 +42,17 @@ public class TitleBar: ContentControl
|
||||
get => GetValue(IsTitleVisibleProperty);
|
||||
set => SetValue(IsTitleVisibleProperty, value);
|
||||
}
|
||||
|
||||
public static readonly AttachedProperty<bool> IsTitleBarHitTestVisibleProperty =
|
||||
AvaloniaProperty.RegisterAttached<TitleBar, Window, bool>("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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user