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