feat: add IsTopLevel property to OverlayDialogHost. only marked Host can trigger window movement.
This commit is contained in:
@@ -66,7 +66,7 @@
|
|||||||
LeftContent="{Binding $parent[u:UrsaWindow].LeftContent}"
|
LeftContent="{Binding $parent[u:UrsaWindow].LeftContent}"
|
||||||
RightContent="{Binding $parent[u:UrsaWindow].RightContent}" />
|
RightContent="{Binding $parent[u:UrsaWindow].RightContent}" />
|
||||||
<VisualLayerManager>
|
<VisualLayerManager>
|
||||||
<u:OverlayDialogHost IsModalStatusReporter="True" />
|
<u:OverlayDialogHost IsTopLevel="True" IsModalStatusReporter="True" />
|
||||||
</VisualLayerManager>
|
</VisualLayerManager>
|
||||||
</VisualLayerManager.ChromeOverlayLayer>
|
</VisualLayerManager.ChromeOverlayLayer>
|
||||||
<Panel>
|
<Panel>
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public partial class OverlayDialogHost
|
|||||||
{
|
{
|
||||||
if (e.Source is DialogControlBase item)
|
if (e.Source is DialogControlBase item)
|
||||||
{
|
{
|
||||||
if (item.IsFullScreen)
|
if (IsTopLevel && item.IsFullScreen)
|
||||||
{
|
{
|
||||||
var top = TopLevel.GetTopLevel(item);
|
var top = TopLevel.GetTopLevel(item);
|
||||||
if (top is Window w)
|
if (top is Window w)
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ public partial class OverlayDialogHost: Canvas
|
|||||||
}
|
}
|
||||||
|
|
||||||
public bool IsAnimationDisabled { get; set; }
|
public bool IsAnimationDisabled { get; set; }
|
||||||
|
public bool IsTopLevel { get; set; }
|
||||||
|
|
||||||
static OverlayDialogHost()
|
static OverlayDialogHost()
|
||||||
{
|
{
|
||||||
@@ -114,7 +115,7 @@ public partial class OverlayDialogHost: Canvas
|
|||||||
{
|
{
|
||||||
rec.AddHandler(PointerReleasedEvent, ClickMaskToCloseDialog);
|
rec.AddHandler(PointerReleasedEvent, ClickMaskToCloseDialog);
|
||||||
}
|
}
|
||||||
else
|
else if(IsTopLevel)
|
||||||
{
|
{
|
||||||
rec.AddHandler(PointerPressedEvent, DragMaskToMoveWindow);
|
rec.AddHandler(PointerPressedEvent, DragMaskToMoveWindow);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user